系统架构&高可用
系统架构
Yarn在架构上是主从架构,其中Resource Manager是主节点,Node Manager是从节点。在架构部署上,Node Manager与HDFS的DataNode安装在同一节点,以便将计算任务移动到数据上。
其中主节点Resource Manager可以有热备节点,以实现集群高可用。当前主节点为Active状态,热备节点为Standby状态。
客户端Client向主节点(Resource Manager)提交作业后,Resource Manager会在Node Manager上为当前作业(Job)分配资源。
Node Manager上分配的资源会封装成Container,相当于是一个容器(小型虚拟机),它包含了作业运行必备的CPU、内存、环境变量等资源。
Resource Manager分配完资源之后,之前在Hadoop 1.x中提到的作业管理怎么办?由作业自己进行管理。
作业(Job)提交后,Resource Manager首先会找一个空闲的Node Manager节点,分配一个Container。Job首先会在这个Container中启动和运行自己的作业管理程序Application Master,然后Application Master调用Job的核心代码,生成Task任务;之后Application Master根据生成的Task数量,再向Resource Manager