Hadoop已經(jīng)通過自身的蓬勃發(fā)展證明,它不僅僅是一套用于將工作內(nèi)容傳播到計算機群組當中的小型堆棧–不,這與它的潛能相比簡直微不足道。這套核心的價值已經(jīng)被廣泛證實,目前大量項目如雨后春筍般圍繞它建立起來。有些項目負責數(shù)據(jù)管理、有些負責流程監(jiān)控、還有一些則提供先進的數(shù)據(jù)存儲機制。

Hadoop業(yè)界正在迅速發(fā)展,從業(yè)企業(yè)拿出的解決方案也多種多樣,其中包括提供技術支持、在托管集群中提供按時租用服務、為這套開源核心開發(fā)先進的功能強化或者將自有工具添加到方案組合當中。
在今天的文章中,我們將一同了解當下Hadoop生態(tài)系統(tǒng)當中那些最為突出的杰作。總體而言,這是一套由眾多工具及代碼構成的堅實基礎、共同聚集在”Hadoop”這面象征著希望的大旗之下。
Hadoop

雖然很多人會把映射與規(guī)約工具廣義化稱為Hadoop,但從客觀角度講、其實只有一小部分核心代碼算是真正的Hadoop。多個工作節(jié)點負責對保存在本地的數(shù)據(jù)進行功能執(zhí)行,而基于Java的代碼則對其加以同步。這些工作節(jié)點得到的結果隨后經(jīng)過匯總并整理為報告。第一個步驟被稱為”映射(即map)”,而第二步驟則被稱為”規(guī)約(reduce)”。
Hadoop為本地數(shù)據(jù)存儲與同步系統(tǒng)提供一套簡化抽象機制,從而保證程序員能夠將注意力集中在編寫代碼以實現(xiàn)數(shù)據(jù)分析工作上,其它工作交給Hadoop處理即可。Hadoop會將任務加以拆分并設計執(zhí)行規(guī)程。錯誤或者故障在意料之中,Hadoop的設計初衷就在于適應由單獨設備所引發(fā)的錯誤。項目代碼遵循Apache許可機制。
官方網(wǎng)站:hadoop.apache.org
Ambari

Hadoop集群的建立需要涉及大量重復性工作。Ambari提供一套基于Web的圖形用戶界面并配備引導腳本,能夠利用大部分標準化組件實現(xiàn)集群設置。在大家采納Ambari并將其付諸運行之后,它將幫助各位完成配置、管理以及監(jiān)管等重要的Hadoop集群相關任務。上圖顯示的就是集群啟動后Ambari所顯示的信息屏幕。Ambari屬于Apache旗下的衍生項目,并由Hortonworks公司負責提供支持。
下載地址:http://incubator.apache.org/ambari/
HDFS (即Hadoop分布式文件系統(tǒng))

Hadoop分布式文件系統(tǒng)提供一套基礎框架,專門用于拆分收集自不同節(jié)點之間的數(shù)據(jù),并利用復制手段在節(jié)點故障時實現(xiàn)數(shù)據(jù)恢復。大型文件會被拆分成數(shù)據(jù)塊,而多個節(jié)點能夠保留來自同一個文件的所有數(shù)據(jù)塊。上圖來自Apache公布的說明文檔,旨在展示數(shù)據(jù)塊如何分布至各個節(jié)點當中。
這套文件系統(tǒng)的設計目的在于同時實現(xiàn)高容錯性與高數(shù)據(jù)吞吐能力的結合。加載數(shù)據(jù)塊能夠保持穩(wěn)定的信息流通,而低頻率緩存處理則將延遲降至最小。默認模式假設的是需要處理大量本地存儲數(shù)據(jù)的長時間作業(yè),這也吻合該項目所提出的”計算能力遷移比數(shù)據(jù)遷移成本更低”的座右銘。HDFS同樣遵循Apache許可。
官方網(wǎng)站:hadoop.apache.org
HBase

當數(shù)據(jù)被匯總成一套規(guī)模龐大的列表時,HBase將負責對其進行保存、搜索并自動在不同節(jié)點之間共享該列表,從而保證MapReduce作業(yè)能夠以本地方式運行。即使列表中容納的數(shù)據(jù)行數(shù)量高達數(shù)十億,該作業(yè)的本地版本仍然能夠對其進行查詢。
該代碼并不能提供其它全功能數(shù)據(jù)庫所遵循的ACID保證,但它仍然為我們帶來一部分關于本地變更的承諾。所有衍生版本的命運也都維系在一起–要么共同成功、要么一起失敗。
這套系統(tǒng)通常被與谷歌的BigTable相提并論,上圖所示為來自HareDB(一套專為HBase打造的圖形用戶界面客戶端)的截圖。官方網(wǎng)站:hbase.apache.org
Hive
