一、
伪分布式Yarn只有rm、nm进程
伪分布式部署或者是集群部署不做HA的话,rm是单点的,如果做HA,rm会有2个,比如rm1、rm2
rm1 active
rm2 standby
这个时候机器上的进程是
ruozedata001: ZK NN zkfc jn DN RM NM
ruozedata002: ZK NN zkfc jn DN RM NM
ruozedata003: ZK jn DN NM
二、YARN HA架构图
Yarn HA
RM:
a.启动时会通过向ZK的/hadoop-ha目录写一个lock文件,写成功则为active,否则standby。
standby RM会一直监控lock文件的是否存在,如果不存在就会尝试去创建,争取为active rm。
b.会接收客户端的任务请求,接收和监控nm的资源的汇报,负责资源的分配与调度,启动和监控 ApplicationMaster(AM)
NM:
节点上的资源的管理,启动container 容器 运行task的计算,上报资源,container情况汇报给RM和任务的处理情况汇报给 ApplicationMaster(AM)
ApplicationMaster(AM)driver : nm机器上的container
单个application(job)的task的管理和调度,并向rm进行资源的申请,
向nm发出 launch container指令,接收NM的task的处理状态信息。
RMstatestore:
a.RM的作业信息存储在ZK的/rmstore下,active RM向这个目录写app信息
b.当active rm挂了,另外一个standby rm成功转换为active rm后,会从/rmstore目录读取相应的作业信息,
重新构建作业的内存信息。然后启动内部服务,开始接收NM的心跳,构建集群资源的信息,并接收客户端的提交作业的请求等。
ZKFC:
自动故障转移 只作为RM进程的一个线程 而非独立的守护进程来启动