1025-hadoop課程

HA(High Available)高可用性集羣環境搭建

理解MapReduce

  • Map
    將數據映射爲KV模型
    並行分佈式計算
    計算向數據移動
  • Reduce
    數據全量/分量加工
    相同的key爲一組,調用一次reduce方法
    排序實現key的匯聚([歸併排序]-將已有序的子序列合併,得到完全有序的序列)
  • KV使用自定義數據類型
    序列化:便於分佈式程序數據交互
    Comparable:實現排序(字典序,數值序)

MR 1.0

  • 角色
    JobTracker:(主)調度所有的作業和監控整個集羣的資源負載

    TaskTracker:(從)管理自身節點資源,和JobTracker心跳,彙報資源,獲取task

    Client:以作業爲單位,規劃作業計算分佈,提交作業資源到HDFS,最終提交作業到JobTracker
  • 弊端
    1.JobTracker負載過重,單點故障
    2.資源調度和計算調度強耦合,其他計算框架需要重複實現資源管理
    3.不同框架對資源不能全局管理

MR 2.0 On YARN

  • YARN:Yet Another Resource Negotiator
    特點:解耦資源管理與任務計算,多個應用框架可運行在YARN上(MapReduceSparkStorm等)

    ResourceManager:(主)集羣節點資源管理

    NodeManager:與RM彙報資源;管理Container生命週期(計算框架中的角色以Container表示)(一般與DataNode位於同節點上)

    ApplicationMaster:負責應用程序相關事務(任務調度,任務監控和容錯等);每個應用程序對應一個ApplicationMaster

    Container:默認NM啓動線程控制Container大小,超出申請資源,kill;支持linux內核的Cgroup
  • MR
    RM-ApplicationMaster-Container:以作業爲單位,負載到不同的節點,避免單點故障;創建Task需要和RM申請資源(Container)

    Task-Container:執行具體的作業
  • Client
    RM—Client:請求資源創建AM
    AM-Client:與AM交互
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章