1 回答

TA貢獻1993條經驗 獲得超6個贊
riak 華師大的吧- -
下面來簡單介紹各個組件的作用:
HDFS(Hadoop distribute file system)——Hadoop生態系統的基礎組件Hadoop分布式文件系統。它是其他一些工具的基礎HDFS的機制是將大量數據分布到計算機集群上,數據一次寫入,但可以多次讀取用于分析。HDFS讓Hadoop可以最大化利用磁盤。
HBase—— 一個構建在HDFS之上的面向列的NoSql數據庫,HBase用于對打量數據進行快速讀取/寫入。HBase將Zookeeper用于自身的管理,以保證其所有組件都正在運行。HBase使得Hadoop可以最大化利用內存。
MapReduce——MapReduce是Hadoop的主要執行框架,它是一個用于分布式并行數據處理的編程模型,將作業分為mapping階段和reduce階段。開發人員謂Hadoop編寫MapReduce作業,并使用HDFS中存儲的數據,而HDFS可以保證快速的數據訪問。鑒于MapReduce作業的特性,Hadoop以并行的方式將處理過程移向數據。MapReduce使得Hadoop可以最大化利用CPU。
Zookeeper——Zookeeper是Hadoop的分布式協調服務。Zookeeper被設計成可以在機器集群上運行,是一個具有高度可用性的服務,用于Hadoop操作的管理,而且很多Hadoop組件都依賴它。
Oozie—— Oozie是一個北極測很難過到Hadoop軟件棧中的可擴展的Workflow系統。用于協調多個MapReduce作業的執行。它能夠處理大量的復雜性,基于外部事件來管理執行。
Pig——Pig是對MapReduce編程復雜性的抽象,Pig平臺包含用于分析Hadoop數據集的執行環境和腳本語言(Pig Latin)。它的編譯器將Pig Latin翻譯為MapReduce程序序列。
Hive——類似于SQL的高級語言,用于執行對存儲在Hadoop中數據的查詢,Hive允許不熟悉MapReduce的開發人員編寫數據查詢語句,它會將翻譯為Hadoop中的MapReduce作業。類似于Pig。Hive是一個抽象層,適合于較熟悉SQL而不是java編程的數據庫分析師。
Hadoop生態系統中還包含一些用于與其他企業級應用進行集成的框架,例如上圖所示的Sqoop和Flume:
Sqoop是一個連通性工具,用于在關系型數據庫和數據倉庫Hadoop之間移動數據。Sqoop利用數據庫來描述導入/導出數據的模式,并使用MapReduce實現并行操作和容錯。
Fulme是一個分布式的、具有可靠性和高可用性的服務,用于從單獨的機器上將大量數據高效的收集、聚合并移動到HDFS中。它給予一個簡單靈活的架構,童工流式數據操所。它借助于簡單可擴展的數據模型,允許將來自企業中多臺機器上的數據移到Hadoop中。
- 1 回答
- 0 關注
- 924 瀏覽
添加回答
舉報