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
總結
以上是生活随笔為你收集整理的Hadoop四大组件介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 六款Linux常用远程连接工具介绍
- 下一篇: FPGA中for语句描述的七人投票表决器