YARN架构
ZKFC:
zkfc在yarn中作为一个线程,处理RM的状态切换,并定期想zk发送心跳。
一直监控lock文件,当文件不存在时,尝试写入,成功则为Active状态,失败则是Standby状态。
RMStateStore:
存储NM中app的信息,在HA中默认存储在zk的 /rmstoer 路径下。
ZooKeeper:
存储RMStateStore,接受ZKFC发送的心跳,存储lock文件。
对RM状态进行选举,并将通知ZKFC。
ResourceManager:
启动时向zk写入lock文件,成功则为Active状态,失败则为Standby状态。
负责接收Client端的请求,接收和监控NM的资源状况汇报,负载资源的分配和调度。
启动和监控AM on MM节点Container状况,并将状态写入RMStateStore中。
NodeManager:
管理当前节点上的资源,启动容器运行task计算,并向Active状态的RM上报资源情况。