一、 Hadoop簡介
1.Hadoop是一個開源的分佈式計算平臺
2.提供的功能:利用服務器集羣,根據用戶的自定義業務邏輯,對海量數據進行分佈式處理
處理什麼問題:海量數據的存儲和海量數據的分析計算問題。Hadoop的兩大核心:HDFS和MapReduce
3.Hadoop的核心組件:
Common(基礎組件):(工具包,RPC框架)JNDI和RPC。
HDFS(分佈式文件系統):HDFS是以分佈式進行存儲的文件系統,主要負責集羣數據的存儲與讀取。
MapReduce(分佈式運算編程框架):Map對數據集上的獨立元素進行指定的操作,生成鍵值對形式中間結果;Reduce則對之間結果中相同“鍵”的所有“值”進行規約,已得到最終結果。
YARN(運算資源調度系統):Hadoop2.X中的資源管理器。它可以爲上層應用提供統一的資源管理和調度,它的引入爲集羣在利用率、資源統一管理和數據共享等方面帶來了巨大好處。
二、 Hadoop特性
Hadoop 是一個能夠讓用戶輕鬆架構和使用的分佈式計算的平臺。用戶可以輕鬆地在 Hadoop 發和運行處理海量數據的應用程序。
其優點主要有以下幾個:
(1)高可靠性:數據存儲多個備份,集羣設置在不同機器上,可以防止一個節點宕機造成集羣損壞。當數據處理請求失敗後,Hadoop 會自動重新部署計算任務。Hadoop 框架中有備份機制和校驗模式,Hadoop 會對出現問題的部分進行修復,也可以通過設置快照的方式在集羣出現問題時回到之前的一個時間點。
(2)高擴展性:Hadoop 是在可用的計算機集羣間分配數據並完成計算任務的。爲集羣添加新的節點並不複雜,所以集羣可以很容易進行節點的擴展,擴大集羣。 (3)高效性:Hadoop 能夠在節點之間動態地移動數據,並保證各個節點的動態平衡,因此處理速度非常快。
(4)高容錯性:Hadoop 的分佈式文件系統 HDFS 在存儲文件時會在多個節點或多臺機器上存儲文件的備份副本,當讀取該文檔出錯或者某一臺機器宕機了,系統會調用其他節點上的備份文件,保證程序順利運行。如果啓動的任務失敗,Hadoop 會重新運行該任務或啓用其他任務來完成這個任務沒有完成的部分。
(5)低成本:Hadoop 是開源的,既不需要支付任何費用即可下載並安裝使用,節省了軟件購買的成本。
(6)可構建在廉價的機器上:Hadoop 不要求機器的配置達到極高的水準,大部分普通商用服務器就可以滿足要求,它通過提供多個副本和容錯機制來提高集羣的可靠性。
(7)Hadoop 基本框架用 Java 語言編寫:Hadoop 含有使用 Java 語言編寫的框架,因此運行在 Linux 生產平臺上是非常理想的。