1.客户端向ResouceManager提交一个作业,ResouceManager看到有作业来了,就先给作业创建一个id,然后根据这个id创建一个临时目录,创建临时目录的作用是为了让客户端将jar包,资源信息,配置信息还有分片信息上传到这个目录里.
2.ResouceManager通过调度器选择一台NodeManager分配Container,并在Container中开启ApplicationMaster.
3.ApplicationMaster向ResouceManager注册,注册完之后就去获取分片信息,然后在向ResouceManager申请资源.
4.ResouceManager找到NodeManager,让他创建Container,等Container创建完成之后,ApplicationMaster会将这个作业分配到Container中
5.在运行的过程中,MapTask会汇报自己的进度和状态信息,汇报进度和状态信息主要有两个作用
①客户端每隔五秒会向ApplicationMaster询问进度
②MapTask完成之后ReduceTask要进行一个拉取操作
6.当所有的应用程序完成之后,ApplicationMaster会向ResouceManager关闭并注销
可以自行查看图片中的步骤理解。