hadoop各组件及其作用
Hadoop是一個適合海量數據分布式存儲和計算的一個平臺。目前主要由三大組件組成:
HDFS 、mapreduce、Yarn。
- HDFS:是一個分布式存儲框架,適合海量數據的存儲
- mapreduce : 是一個分布式計算框架。適合海量數據的計算
- Yarn:是一個資源調度平臺,負責給計算框架分配資源
1.HDFS
主從結構,由namenode和datanode組成。其中namenode最多可以有兩個,但同時只能有一個。datanode理論上可以有無限個,極限大概是4000臺。
-
namenode負責:
-接受用戶操作請求,是用戶操作的入口-維護文件系統的目錄結構,稱為命名空間 -
datanode負責:
實際存儲數據
文件塊block:最基本的存儲單位,2.0以后默認大小為128M
-
SecondaryNameNode
fsimage:元數據鏡像文件,存儲某一時間段Namenode內存元數據信息edits:用戶操作日志文件負責 將fsimage與edits文件合并,防止namenode故障及緩解namenode壓力
什么時候checkpoint:
1.fs.checkpoint.period 指定兩次checkpoint的最大時間間隔,默認3600秒
2.fs.checkpoint.size 規定edits文件的最大值,一旦超過這個值則強制checkpoint,默認64M
2.mapreduce
依賴磁盤IO的批處理計算模型。
主從結構 主節點只有一個,為MRAppMaster,從節點為具體的task組成。
由兩個階段組成:map和reduce階段。
map階段是一個獨立的程序,有很多的節點同時運行,每個節點處理一部分數據。reduce階段是一個獨立的程序,有很多節點同時運行,每個節點處理一部分數據。
原理圖:
shuffle圖:
3.Yarn
主從結構,主節點最多可以有兩個,為ResourceManager;從節點為ResourceManager
-
ResourceManager:
-處理客戶端的請求-監控NodeManger-啟動或監控ApplicationMaster-資源的分配與調度 -
NodeManager:
-管理單個節點的資源-處理來自ResourceManager的命令-處理來自AppalicationMaster的命令 -
ApplicationMaster"
-負責數據的切分-為應用程序申請資源并分配給內部任務-任務的監控與容錯 -
Container:
Container是YARN中資源的抽象,它封裝了某個節點上的多維度資源,如內存、CPU、磁盤、網絡等
總結
以上是生活随笔為你收集整理的hadoop各组件及其作用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CAD软件中如何自定义CAD填充图案?
- 下一篇: HTTP代理如何使用