Hadoop 是一個開源的分布式計算和存儲框架,由 Apache 基金會開發和維護。

Hadoop 為龐大的計算機集群提供可靠的、可伸縮的應用層計算和存儲支持,它允許使用簡單的編程模型跨計算機群集分布式處理大型數據集,並且支持在單台計算機到幾千台計算機之間進行擴展。

Hadoop 使用 Java 開發,所以可以在多種不同硬件平台的計算機上部署和使用。其核心部件包括分布式文件係統 (Hadoop DFS,HDFS) 和 MapReduce。

Hadoop 曆史

2003 年和 2004 年,Google 公司先後發表了兩篇著名的論文 GFS 和 MapReduce。

這兩篇論文和 2006 年發表的 BigTable 成為了現在著名的"Google 三大論文"。

Doug Cutting 在受到了這些理論的影響後開始了 Hadoop 的開發。

Hadoop 包含了兩大核心組件。在 Google 的論文中,GFS 是一個在龐大的計算機集群中運行的分布式文件係統,在 Hadoop 中 HDFS 實現了它的功能。MapReduce 是一個分布式計算的方式,Hadoop 用同名稱的 MapReduce 框架實現了它的功能。我們會在之後的 MapReduce 章節中詳細介紹它。 從 2008 年開始,Hadoop 作為 Apache 頂級項目存在。它與它的眾多子項目廣泛應用於包括 Yahoo、阿裏巴巴、騰訊等大型網絡服務企業,並被 IBM、Intel、Microsoft 等平台公司列為支持對象。

Hadoop 的作用

Hadoop 的作用非常簡單,就是在多計算機集群環境中營造一個統一而穩定的存儲和計算環境,並能為其他分布式應用服務提供平台支持。

也就是說, Hadoop 在某種程度上將多台計算機組織成了一台計算機(做同一件事),那麼 HDFS 就相當於這台計算機的硬盤,而 MapReduce 就是這台計算機的 CPU 控製器。