- 客户端:提交MapReduce job
- YARN resouce manager,协调集群计算资源分配
- YARN node manager,产生并且监控在集群中的机器上的containers
- MapReduce application master,协调MapReduce job中运行的task
- HDFS,用来共享job文件和其他实例
Job Submission
- 询问resource manager来获取一个新的应用id,用来作为MapReduce job ID
- 检查job的输出指定,如果文件已经存在或者未指定输出抛出一个错误
- 计算输入分割,如果分割无法被计算降抛出一个错误
- 复制资源来运行job,包括job的JAR file,配置文件,计算输入分割到共享的文件系统中,以job ID命名。job JAR会被复制高的备份,以便运行时有多个nodemanager可以运行
- 调用submitApplication()在resource manager来提交任务
Job Initialization
- 当resource manager收到调用它的submitApplication()方法,它将其交给YARN scheduler,scheduler分配一个容器,并且resource manager 生成一个application master进程在哪里,在node manager的管理下。
- 对于MapReduce jobs,application master就是一个Java应用主类是MRAppMaster.
时间: 2024-10-05 10:04:26