MapReduce2.x YARN 工作流程图
2023-08-18 18:20:42 0 举报
MapReduce2.x YARN 工作流程图
作者其他创作
大纲/内容
8. ResourceManager 通过资源调度器给 Job 分配一些 Container,用来执行 Map 任务或者 Reduce 任务或其他任务(Spark、Flink)
通过 RPC 协议向 ApplicationMaster 汇报自己的状态和进度Reduce Task 会反复询问 ApplicationMaster 哪些 Map 任务已执行结束,如果得到了消息,就会去那个 Map Task 中获取结果并作为自己的输入
客户端会每秒轮询检测 ApplicationMaster,这样会随时收到更新信息除此之外,客户端还会每 5 秒轮询检查 Job 是否完成
Container
主备切换
4. ApplicationsManager 通过 ResourceScheduler 选择一台 NodeManager 分配一个 Container,在 Container 中开启 ApplicationMaster 进程
Client
SplitN
ApplicationsManager
5. AM 向 RM 进行注册
10. 应用程序运行完成后,AM 向 RM 注销并关闭自己
7. 向 RM 申请资源以运行 Task
通过
通过 RPC 协议向 ApplicationMaster 汇报自己的状态和进度
Split1
3. 计算分片,拷贝资源(作业的 Jar 文件,配置文件,计算所得输入分片,资源信息等)到 HDFS
1. 提交 Job
DataNodeNodeManager
Map Task
ApplicationMaster
Shuffle
NameNode StandbyResourceManager
Reduce Task
Split2
9. AM 分配 Task 给对应的 Container
Xxx Task
MRSparkFlink...
ResourceScheduler
6. AM 获取切片信息
2. 返回 JobID(即 Application ID)和保存数据资源(作业的 Jar 文件,配置文件,计算所得输入分片,资源信息等)的临时目录(使用 JobID 命名的目录,hdfs://xxx/staging/xxx)
HDFS
NameNode ActiveResourceManager
0 条评论
回复 删除
下一页