1. 程式人生 > >Hadoop四大元件介紹

Hadoop四大元件介紹

1.學習Hadoop之前需要的基礎,javaSE(基礎),EE(SSM),Linux基礎,因為90%的框架都是用java寫的,Hadoop、hive、HBase、下面是Hadoop的有關介紹。

2.學習大資料裡面最核心的就是Hadoop,我們知道什麼是大資料。就是一個非常龐大的資料,計算機無法直接取讀取以及分析處理,這個時候就要用到我們學到的大資料。

  Hadoop的四大元件:

        common、HDFS、MapReduce、YARN

        common(工具類):

包括Hadoop常用的工具類,由原來的Hadoopcore部分更名而來。主要包括系統配置工具Configuration、遠端過程呼叫RPC、序列化機制和Hadoop抽象檔案系統FileSystem等。它們為在通用硬體上搭建雲端計算環境提供基本的服務,併為執行在該平臺上的軟體開發提供了所需的API。

        Hadoop Distributed File System(HDFS):

  Hadoop實現了一個分散式的檔案系統,HDFS為海量的資料提供了儲存。HDFS是基於節點的形式進行構建的,裡面有一個父節點NameNode,他在機器內部提供了服務,NameNode本身不幹活,NameNode將資料分成塊,只是把資料分發給子節點,交由子節點來進行儲存,由於只存在一個父節點,所以這是HDFS的一個缺點,單點失敗。以及n個子節點dataNode,dataNode在機器內部提供了資料塊,儲存在HDFS的資料被分成塊,然後將這些塊分到多個計算機(dataNode)中,這與傳統的RAID架構大有不同。塊的大小(通常為64MB)和複製的塊數量在建立檔案時由客戶機決定。NameNode可以控制所有檔案操作。

NameNode:

NameNode 是一個通常在 HDFS例項中的單獨機器上執行的軟體。它負責管理檔案系統名稱空間和控制外部客戶機的訪問。NameNode 決定是否將檔案對映到 DataNode 上的複製塊上。對於最常見的 3 個複製塊,第一個複製塊儲存在同一機架的不同節點上,最後一個複製塊儲存在不同機架的某個節點上。

DataNode:

DataNode 也是一個通常在HDFS例項中的單獨機器上執行的軟體。Hadoop 叢集包含一個 NameNode 和大量 DataNode。DataNode 通常以機架的形式組織,機架通過一個交換機將所有系統連線起來。Hadoop 的一個假設是:機架內部節點之間的傳輸速度快於機架間節點的傳輸速度。

MapReduce:

 基於YARN的大型資料集並行處理系統。是一種計算模型,用以進行大資料量的計算。Hadoop的MapReduce實現,和Common、HDFS一起,構成了Hadoop發展初期的三個元件。MapReduce將應用劃分為Map和Reduce兩個步驟,其中Map對資料集上的獨立元素進行指定的操作,生成鍵-值對形式中間結果。Reduce則對中間結果中相同“鍵”的所有“值”進行規約,以得到最終結果。MapReduce這樣的功能劃分,非常適合在大量計算機組成的分散式並行環境裡進行資料處理。

YARN:

分散式叢集資源管理框架,管理者叢集的資源(Memory,cpu core)

            合理排程分配給各個程式(MapReduce)使用

            主節點:resourceManager

                  掌管叢集中的資源

            從節點:nodeManager

                  管理每臺叢集資源

總結:Hadoop的安裝部署

            都屬於java程序,就是啟動了JVM程序,執行服務。

            HDFS:儲存資料,提供分析的資料

                  NameNode/DataNode

            YARN:提供程式執行的資源

                  ResourceManager/NodeManager