Yarn HA
RM:
a.启动时会通过向ZK的/hadoop-ha目录写一个lock文件,写成功则为active,否则standyby
standy 的RM会一直监控lock文件是否存在,如果不存在就会尝试去创建,争取为active RM
b.会接收客户端的任务请求,接收和监控nm的资源的汇报,负责资源的分配与调度,启动和监控我们的ApplicationMaster
NM:
节点上的资源的管理,启动container容器,运行task的计算,上报资源,container情况汇报给RM和任务的处理情况汇报给作业的ApplicationMaster
ZKFC直接嵌入到RM中
RMStateStore直接存储到ZK中
ApplicationMaster(AM):
单个application(job)的task的管理和调度,并向rm进行资源的申请,向nm发出 launch conta指令,接收NM的task的处理状态信息。
面试题:ApplicationMaster 运行在哪里
ApplicationMaster 运行在nm机器上的container。AM也是个任务,只不过在做它自己该完成的职责。
RMstatestore:
a.RM的作业信息存储在ZK的/rmstore下,active RM向这个目录写 作业信息(即Application)
b当activerm挂了,另外一个standby rm成功转换为active rm后,会从/rmstore目录读取相应的作业信息,重新构建作业的内存信息。
然后开始内部服务,开始接受NM的心跳,构建集群资源的信息,并接收客户端的提交作业的请求等。
ZKFC:
自动故障转移,只作为RM进行的一个线程,而非独立的守护进程来启动。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/197148.html