master: NameNode, ResourceManager,
slaves: DataNode, NodeManager, RunJar, MRAppMaster,YarnChild
其中 RunJar, MRAppMaster,YarnChild与随着某个job的创建而创建,随着job的完成而终止。它们的作用分别是:
RunJar:完成job的初始化,包括获取jobID,将jar包上传至hdfs等。
MRAppMaster:每个job一个进程,主要跟踪job的运行情况,向RM申请资源等。
YarnChild:运行具体的map/reduce task。
job启动过程:
ResourceManage,NodeManager->RunJar->MRAppMaster->YarnChild
job退出过程:
YarnChild->MRAppMaster->RunJar
即所有的map/reduce均完成后,MRAppMaster才退出,最后RunJar退出,job完成。