拓展:线程与进程的区别
进程是由一个以上的的线程组成的
ps -ef 能出现的就是进程。
YARN HA
hadoop001:zk rm(zkfc) nm
hadoop002:zk rm(zkfc) nm
hadoop003:zk nm
ZKFC: 线程
只作为RM进程的一个线程而非独立的进程存在
RMStateStore:
存储在zk的/rmstore目录下。
1.activeRM会向这个目录写APP信息
2.当activeRM挂了,另外一个standby RM通过
ZKFC选举成功为active,会从/rmstore读取相应的作业信息。
重新构建作业的内存信息,启动内部的服务,
开始接收NM的心跳,构建集群的资源信息,并且接收客户端的作业提交请求。
RM:
1.启动时候会向ZK的/rmstore目录写lock文件,写成功就为active,否则standby.
rm节点zkfc会一直监控这个lock文件是否存在,假如不存在,就为active,否则为standby.
2.接收client的请求,接收和监控NM的资源状况的汇报,负载资源的分配和调度。
3.启动和监控APPMASTER on NM节点的container。
applicationsmanager RM
applicationmaster NM container容器里 作业的主程序
NM:
节点资源的管理 启动容器运行task计算 上报资源
ZKFC: 线程
在yarn的HA中,ZKFC不是单独的进程,他是以线程的方式存在于rm中。
只作为RM进程的一个线程而非独立的进程存在