Hadoop學習筆記之YARN

Hadoop1.x時:
MapReduce:Master/Slave架構,1個JobTracker帶多個TaskTracker


JobTracker: 負責資源管理和作業調度
TaskTracker:
定期向JT彙報本節點的健康狀況、資源使用情況、作業執行情況;
接收來自JT的命令:啓動任務/殺死任務


YARN:不同計算框架可以共享同一個HDFS集羣上的數據,享受整體的資源調度


XXX on YARN的好處:
與其他計算框架共享集羣資源,按資源需要分配,進而提高集羣資源的利用率
XXX: Spark/MapReduce/Storm/Flink




YARN架構:



1)ResourceManager: RM
整個集羣同一時間提供服務的RM只有一個,負責集羣資源的統一管理和調度
處理客戶端的請求: 提交一個作業、殺死一個作業
監控我們的NM,一旦某個NM掛了,那麼該NM上運行的任務需要告訴我們的AM來如何進行處理


2) NodeManager: NM
整個集羣中有多個,負責自己本身節點資源管理和使用
定時向RM彙報本節點的資源使用情況
接收並處理來自RM的各種命令:啓動Container
處理來自AM的命令
單個節點的資源管理


3) ApplicationMaster: AM
每個應用程序對應一個:MR、Spark,負責應用程序的管理
爲應用程序向RM申請資源(core、memory),分配給內部task
需要與NM通信:啓動/停止task,task是運行在container裏面,AM也是運行在container裏面


4) Container
封裝了CPU、Memory等資源的一個容器
是一個任務運行環境的抽象


5) Client
提交作業
查詢作業的運行進度
殺死作業


YARN環境搭建
1)mapred-site.xml
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>


2)yarn-site.xml
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>


3) 啓動YARN相關的進程
sbin/start-yarn.sh


4)驗證
jps
ResourceManager
NodeManager
http://hadoop000:8088


5)停止YARN相關的進程
sbin/stop-yarn.sh




提交mr作業到YARN上運行:
/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar


hadoop jar 


hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar pi 2 3 











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章