Yarn HA(高可用)架构

  • 前言

ResourceManager(RM)负责资源管理,并调度应用作业.在Hadop2.4之前RsourceManage是单点的,容易产生单点故障
HA 提供活动和备用的RM,解决了一个RM单点故障问题.

  • 架构图
    在这里插入图片描述
  • 集群概述
  1. RM :ResourceManage:r一个集群只有一个active状态的,负责整个集群的管理和调度
    1). 处理客户端请求
    2). 启动监控ApplicationMaster(AM,一个作业对应一个)
    3). 监控NM
    4). 系统资源的分配和调度

  2. NM :负责单个节点的资源管理和使用以及task运行
    1). 定期想RM汇报本节点的资源使用情况和container运行情况
    2). 接收处理RM对container的启停各种命令
    3). 单节点资源管理和任务管理

  3. ZK

    在ZooKeeper上会有一个/yarn-leader-election/yarn1的锁节点,所有的ResourceManager在启动的时候,都会去竞争写一个Lock子节点:/yarn-leader-election/yarn1/ActiveBreadCrumb,该节点是临时节点。ZooKeepr能够为我们保证最终只有一个ResourceManager能够创建成功。创建成功的那个ResourceManager就切换为Active状态,没有成功的那些ResourceManager则切换为Standby状态。

  4. ZKFC
    zkfc:是RM里面的一个线程,在HDFS HA中,zkfc是一个独立的进程。作用 是监控RM的健康状态,并执行选举作用。

  5. RMStateStore:
    RM会把job的信息存放在zookeeper的/rmstore目录下,active RM会向这个目录写app的信息。当active RM挂掉之后,standby RM会通过zkfc切换为active状态,然后从zookeeper的/rmstore目录下读取相应的作业信息。重新构建作业的内存信息,启动内部服务,开始接受NM的心跳信息,构建集群的资源信息,并且接受客户端的作业提交请求


版权声明:本文为huonan_123原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。