Yarn作为Hadoop的资源调度框架,承担着扩展Hadoop的重要责任,我们配置Spark时就使用了Spark on Yarn的配置方法,这里简单介绍一些YARN的工作原理,有助于理解整个系统处理作业的过程。
在配置好的Hadoop环境中,我们输入jps查看进程,可以看到,master节点上的ResourceManager和slave节点上的NodeManager就是属于Yarn的进程。
几个需要了解的概念
1. ResourceManager
ResourceManager是master上的进程,负责整个分布式系统的资源管理和调度。他会处理来自client端的请求(包括提交作业/杀死作业);启动/监控Application Master;监控NodeManager的情况,比如可能挂掉的NodeManager。
2. NodeManager
相对应的,NodeManager时处在slave节点上的进程,他只负责当前slave节点的资源管理和调度,以及task的运行。他会定期向ResourceManager回报资源/Container的情况(heartbeat);接受来自ResourceManager对于Container的启停命令。
3. Applicatio