1.架构图
注释:此图的ZKFC是线程.作为RM进程的一个线程而非独立的守护进程来独立存在
什么是线程:线程 属于一个进程的里面的 除非特殊命令和工具才能看到 包含至少1个线程
叙述:MStateStore:
a.RM把job信息存在在ZK的/rmstore下,activeRM会向这个目录写app信息
b.当active RM挂了,另外一个standby RM通过zkfc选举成功为active,会从/rmstore读取相应的作业信息。
重新构建作业的内存信息,启动内部服务,开始接收NM的心跳,构建集群的资源信息,并且接收客户端的作业提交请求。
RM:
a.启动时候的会向ZK的目录?写个lock文件,写成功的话,就为active,否则为standby。 然后standby rm节点会一直监控这个lock文件是否存在,假如不存在,就试图创建,假如成功就为active。
b.接收client的请求。接收和监控NM的资源状况汇报,负载资源的分配和调度。
c.启动和监控ApplicationMaster(AM) on NM的container
ApplicationsManager RM
ApplicationMaster JOB的老大 相当于spark driver NM的container
NM: 节点的资源管理 启动container运行task计算 上报资源 汇报task进度给AM ApplicationMaster
思考:HDFS HA和YARN HA的区别(面试题)
1.zkfc
2.dn/nm
3.hdfs ha集群启动的进程顺序
4.架构