yarn执行流程
1、Client 向 RM 提交 job 对象申请运行应用程序
2、RM 返回一个运行资源提交地址
3、client 向地址提交切片信息 split,配置文件 xml 和 jar 包等运行资源
4、应答 RM 资源提交完成,并申请运行 appmaster 程序
5、RM 吧 appmaster 放在任务队列里等待空间的 NM 领取任务执行
6、NM 领取任务后创建运行任务的 container 容器虚拟化 cpu 和内存并启动 APPmaster
7、NM 拷贝运行资源到本地,根据 split 计算出 maptask 个数
8、APPmaster 向 RM 申请 maptask 运行资源
9、RM 为 maptask 任务分配运行资源 NM
10、NM 领取任务并创建 container 容器虚拟化 cpu 和内存
11、APPmaster 向领取任务的 NM 发送程序启动脚本
12、NM 分别启动 maptask,APPmaster 监控 maptask 运行情况,当 maptask 运行完成后向 RM 申请容器运行 reducetask
13、reducetask 向 maptask 拉取相应分区的数据计算输出
14、程序运行完毕 APPmaster 向 RM 申请注销自己
个人总结:
客户端和集群
客户端向resucemanage&