1.YARN HA架构图

注意:0.客户端还是通过namenode去寻找能进行访问的active节点,图中暂时未画
1.这里是zkfc是 RM中的线程
2.RM是通过ZK来共享数据,默认目录 /rmstore #配置:yarn.resourcemanager.zk-state-store.parent-path =/rmstore
3.NM 只会向 RM Active节点汇报信息
4.YARN HA架构设计明显没有HDFS HA 那么严格。Hdfs 读写不能丢数据,但是任务可以挂,挂了重启就可以了。
2.YARN HA架构剖析
ZKFC: 线程,只作为RM进程的一个线程而非独立的进程存在
RMStateStore: 存储在zk的/rmstore目录下。
1.activeRM会向这个目录写APP信息
2.当activeRM挂了,另外一个standby RM通过ZKFC选举成功为active,会从/rmstore读取相应的作业信息。重新构建作业的内存信息,启动内部的服务,开始接收NM的心跳,构建集群的资源信息,并且接收客户端的作业提交请求。
RM: 不同于NN一个写一个读,它是一个写,挂了后,stand by才会从zk 读取app信息
1.启动时候会向ZK的/rmstore目录写lock文件,写成功就为active,否则standby.rm节点zkfc会一直监控这个lock文件是否存在,假如不存在,就为active,否则 为standby.
2.接收client的请求,接收和监控NM的资源状况的汇报,负载资源的分配和调度。
3.启动和监控APPMASTER on NM节点的container。
#applicationsmanager 在RM中 、applicationmaster是DN的container容器里 作业的主程序
NM:节点资源的管理 ,启动容器运行task计算,上报资源