2017.5.11 Yarn

Yarn在hadoop中的位置

Yarn的优点

  1. YARN把JobTracker分为ResouceManager和ApplicationMaster,ResouceManager专管整个集群的资源管理和调度,而ApplicationMaster则负责应用程序的任务调度和容错等
  2. YARN不再是一个单纯的计算框架,而是一个框架管理器,用户可以将各种各样的计算框架移植到YARN之上,由YARN进行统一管理和资源分配
  3. 对于资源的表示以内存和CPU为单位,比之前slot 更合理

Yarn运行机制

YARN主要由RM、NM、AM和Container等4个组件构成

ResourceManager :

  • 处理客户端请求
  • 启动和监控ApplicationMaster
  • 监控NodeManager
  • 资源的分配与调度

NodeManager:

  • 管理单个节点上的资源
  • 处理来自ResourceManager的命令
  • 处理来自ApplicationMaster的命令

ApplicationMaster:

  • 为应用程序申请资源并分配给内部的任务
  • 任务的监控与容错

Container:

  • 对任务运行环境进行抽象,封装CPU、内存等资源

容错

RM:HA方案避免单点故障 AM:AM向RM周期性发送心跳,出故障后RM会启动新的AM,受最大失败次数限制

NM:周期性RM发送心跳,如果一定时间内没有发送,RM 就认为该NM 挂掉了,或者NM上运行的Task失败次数太多,就会把上面所有任务调度到其它NM上

Task:Task也可能运行挂掉,比如内存超出了或者磁盘挂掉了,NM会汇报AM,AM会把该Task调度到其它节点上,但受到重试次数的限制

一边喊着救命,一边享受沉沦。
原文地址:https://www.cnblogs.com/fast-walking/p/6841905.html