Hadoop生態系統及各模塊的功能
1、 HDFS(Hadoop 分佈式文件系統)
HDFS 是 Hadoop 生態圈中提供分佈式存儲支持的系統,上層的很多計算框架(Hbase、spark 等)都依賴於 HDFS 存儲。
2、 MapReduce(分佈式計算模型)離線計算
何為離線計算,其實就是非實時計算。
3、 Yarn(分佈式資源管理器)
Yarn 的出現主要就是為了解決原始 Hadoop 擴展性較差、不支持多種計算模型的問題。
4、 Spark(內存計算)
Spark 提供了內存中的分佈式計算能力,相比傳統的 MapReduce 大數據分析效率更高、運行速度更快。
5、 HBase(分佈式列存儲數據庫)
Hbase繼承了列存儲的特性,它非常適合需對數據進行隨機讀、寫操作。 其次,Hbase構建在HDFS之上,其內部管理的文件全部存儲在HDFS中。這使它具有高度容錯性和可擴展性,並支持Hadoop mapreduce程序設計模型。
6、 Hive(數據倉庫)
7、 Oozie(工作流調度器)
Oozie 是一個基於工作流引擎的調度器,它其實就是一個運行在 Java Servlet 容器(如 Tomcat)中的 Javas Web 應用,你可以在它上面運行 Hadoop 的 Map Reduce 和 Pig 等任務,。
8、 Sqoop 與 Pig
9、 Flume(日誌收集工具)
Flume 是將數據從產生、傳輸、處理並最終寫入目標路徑的過程抽象為數據流,在具體的數據流中,數據源支持在 Flume 中定製數據發送方,從而支持收集各種不同協議數據。
10、 Kafka(分佈式消息隊列)
Kafka 是 Apache 組織下的一個開源系統,它的最大特性就是可以實時的處理大量數據以滿足各種需求場景:比如基於 Hadoop 平台的數據分析、低時延的實時系統、Storm/Spark 流式處理引擎等。Kafka 現在它已被多家大型公司作為多種類型的數據管道和消息系統使用。
11、 ZooKeeper(分佈式協作服務)
通俗的講,ZooKeeper 相當於一個和事佬的角色,如果兩人之間發生了一些矛盾或者衝突,無法自行解決的話,這個時候就需要 ZooKeeper 這個和事佬從中進行調解,而和事佬調解的方式是站在第三方客觀的角度,根據一些規則(如道德規則、法律規則),客觀的對衝突雙方做出合理、合規的判決。
12、 Ambari(大數據運維工具)
Ambari 是一個大數據基礎運維平台,它實現了 Hadoop 生態圈各種組件的自動化部署、服務管理和監控告警,Ambari 通過 puppet 實現自動化安裝和配置,通過 Ganglia 收集監控度量指標,用 Nagios 實現故障報警。