MapReduce Job Run

 

  • 客户端:提交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.

  

 

posted @ 2016-04-08 09:56  dalu610  阅读(240)  评论(0编辑  收藏  举报