Hadoop是現在最流行的大數據分布式基礎架構,其實現了很多大數據相關的核心功能,並且支持大量的核心項目。今天小鳥就給大家盤點一下Hadoop以及Hadoop生態圈。

一、Hadoop內部核心模塊

Hadoop Common:大量低層核心組件和接口,主要用於支持和集成其他模塊。

Hadoop MapReduce:Hadoop分布式計算框架,其實現了海量數據高速並行計算,需要基於Yarn。

Hadoop Distributed File System:Hadoop分布式文件系統,也就是我們通常說的HDFS,是海量數據存儲和高吞吐的核心基礎,所有的計算框架都是基於HDFS的。

Hadoop Yarn:Yarn主要負責協調和分配Hadoop集群中的所有資源(CPU、內存等),所有作業的調度都依賴Yarn。

二、Hadoop生態圈的其他核心組件:

Hbase:一個基於列的存儲的分布式資料庫,其數據模型為Key-Value模式,便於擴展並且查詢高效。

Hive:Hive是Hadoop提供的一個數據倉庫,也提供資料庫部分功能。其最大的作用還是簡化了編寫MapReduce程序的過程,只需要利用SQL語句即可完成MapReduce計算。

Cassandra:Cassandra也是基於列存儲的,但是其數據模型為column-based,即一列就是一條數據。它最大的優點就是有多個Master,不會出現單點故障。

Ambari:Ambari是可視化的檢測工具,其低層是基於Web平台的。它可以監控Hadoop,Hive、HBase、Pig等絕大多數工具。並且還能將MapReduce等程序的功能可視化,在線對比其性能。

Avro:Avro是一個將數據序列化的工具,它有著豐富的數據結構類型,提供二進位數據等。並且還支持一點點動態語言。

Chukwa:Chukwa是一個數據收集工具,其監控的對象為大型分布式系統。在節點數量巨大的集群上,就需要用Chukwa來收集集群的相關信息,分析其健康狀態。

Spark:Spark是一種更加快速的Hadoop計算引擎,它的運算速度比MapReduce快近百倍。相對的其對內存的要求也更高,因為它是基於內存的。Spark對機器學習也有非常良好的支持。

Mahout:Mahout是Hadoop提供的算法庫,經常被用於數據挖掘和機器學習。

Pig:Pig一種過程語言,其主要作用有兩點,一是用來對數據進行預處理和轉換,以便MapReduce能更好地運行。二是用來處理數據流。

Tez:Tez是一個比較新的分布式執行框架,建立於Yarn的基礎之上,功能上與MapReduce有類似之處。目前Hive、pig等框架都在慢慢的採用Tez而拋棄MapReduce了。

Zookeeper:Zookeeper主要負責分布式應用的協作,集群之間的交流和通訊都依靠Zookeeper完成。

以上就是現在最核心Hadoop和Hadoop生態圈的工具,有想學習的小夥伴務必要好好收藏。最後歡迎大家關注小鳥,多多轉發,後續還會繼續介紹相關工具。