hadoop家族介紹

voidy.net發表於2015-09-01

 簡介

  Apache Hadoop是一款支援資料密集型分散式應用並以Apache 2.0許可協議釋出的開源軟體框架。它支援在商品硬體構建的大型叢集上執行的應用程式。Hadoop是根據Google公司發表的MapReduce和Google檔案系統的論文自行實作而成。

  Hadoop框架透明地為應用提供可靠性和資料移動。它實現了名為MapReduce的程式設計正規化:應用程式被分割成許多小部分,而每個部分都能在叢集中的任意節點上執行或重新執行。此外,Hadoop還提供了分散式檔案系統,用以儲存所有計算節點的資料,這為整個叢集帶來了非常高的頻寬。MapReduce和分散式檔案系統的設計,使得整個框架能夠自動處理節點故障。它使應用程式與成千上萬的獨立計算的電腦和PB級的資料。

  常用的專案包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等。

  關係圖如下:

 各專案簡介

  • Apache Hadoop: 是Apache開源組織的一個分散式計算開源框架,提供了一個分散式檔案系統子專案(HDFS)和支援MapReduce分散式計算的軟體架構。
  • Apache Hive: 是基於Hadoop的一個資料倉儲工具,可以將結構化的資料檔案對映為一張資料庫表,通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,十分適合資料倉儲的統計分析。
  • Apache Pig: 是一個基於Hadoop的大規模資料分析工具,它提供的SQL-LIKE語言叫Pig Latin,該語言的編譯器會把類SQL的資料分析請求轉換為一系列經過優化處理的MapReduce運算。
  • Apache HBase: 是一個高可靠性、高效能、面向列、可伸縮的分散式儲存系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化儲存叢集。
  • Apache Sqoop: 是一個用來將Hadoop和關係型資料庫中的資料相互轉移的工具,可以將一個關係型資料庫(MySQL ,Oracle ,Postgres等)中的資料導進到Hadoop的HDFS中,也可以將HDFS的資料導進到關係型資料庫中。
  • Apache Zookeeper: 是一個為分散式應用所設計的分佈的、開源的協調服務,它主要是用來解決分散式應用中經常遇到的一些資料管理問題,簡化分散式應用協調及其管理的難度,提供高效能的分散式服務
  • Apache Mahout:是基於Hadoop的機器學習和資料探勘的一個分散式框架。Mahout用MapReduce實現了部分資料探勘演算法,解決了並行挖掘的問題。
  • Apache Cassandra:是一套開源分散式NoSQL資料庫系統。它最初由Facebook開發,用於儲存簡單格式資料,集Google BigTable的資料模型與Amazon Dynamo的完全分散式的架構於一身
  • Apache Avro: 是一個資料序列化系統,設計用於支援資料密集型,大批量資料交換的應用。Avro是新的資料序列化格式與傳輸工具,將逐步取代Hadoop原有的IPC機制
  • Apache Ambari: 是一種基於Web的工具,支援Hadoop叢集的供應、管理和監控。
  • Apache Chukwa: 是一個開源的用於監控大型分散式系統的資料收集系統,它可以將各種各樣型別的資料收整合適合 Hadoop 處理的檔案儲存在 HDFS 中供 Hadoop 進行各種 MapReduce 操作。
  • Apache Hama: 是一個基於HDFS的BSP(Bulk Synchronous Parallel)平行計算框架, Hama可用於包括圖、矩陣和網路演算法在內的大規模、大資料計算。
  • Apache Flume: 是一個分佈的、可靠的、高可用的海量日誌聚合的系統,可用於日誌資料收集,日誌資料處理,日誌資料傳輸。
  • Apache Giraph: 是一個可伸縮的分散式迭代圖處理系統, 基於Hadoop平臺,靈感來自 BSP (bulk synchronous parallel) 和 Google 的 Pregel。
  • Apache Oozie: 是一個工作流引擎伺服器, 用於管理和協調執行在Hadoop平臺上(HDFS、Pig和MapReduce)的任務。
  • Apache Crunch: 是基於Google的FlumeJava庫編寫的Java庫,用於建立MapReduce程式。與Hive,Pig類似,Crunch提供了用於實現如連線資料、執行聚合和排序記錄等常見任務的模式庫
  • Apache Whirr: 是一套執行於雲服務的類庫(包括Hadoop),可提供高度的互補性。Whirr學支援Amazon EC2和Rackspace的服務。
  • Apache Bigtop: 是一個對Hadoop及其周邊生態進行打包,分發和測試的工具。
  • Apache HCatalog: 是基於Hadoop的資料表和儲存管理,實現中央的後設資料和模式管理,跨越Hadoop和RDBMS,利用Pig和Hive提供關係檢視。
  • Cloudera Hue: 是一個基於WEB的監控和管理系統,實現對HDFS,MapReduce/YARN, HBase, Hive, Pig的web化操作和管理。

 參考資料

相關文章