zoukankan      html  css  js  c++  java
  • hadoop使用yarn运行mapreduce的过程

    如图:

        1、客户端提交MapReduce Job到YARN ResourceManager获取新的作业ID。
        2、YARN ResourceManager返回给客户端一个应用程序ID,即JobID和存储作业资源的路径。
        3、客户端检查作业的输出说明计算输入分片,并将作业的资源即作业Jar包、配置、输入分片存储10份到HDFS中(Hadoop源码中默认存储10份)。
        4、调用YarnClientImpl.submitApplication()方法提交作业。
        5、YARN ResourceManager收到客户端提交的作业后则交给Scheduler(Hadoop2中默认Capacity Scheduler)执行,Scheduler会分配一个Container,然后YARN ResourceManager在NodeManager的管理下在这个Container中启动MRAppMaster应用程序。
        6、MapReduce Job的ApplicationMaster即MRAppMaster是一个java应用程序,主类是MRAppMaster。它对作业初始化并创建多个簿记对象保持多MapReduce Job的跟踪(包括来自任务的进度和完成报告)。
        7、MRAppMaster会找出客户端计算好并存储在HDFS上的输入分片信息,并为每一个分片创建一个Map Task对象和配置中定义的多个Reduce任务对象(配置文件mapred-default.xml或mapred-site.xml中的mapreduce.job.reduces属性决定的)。
        8、MRAppMaster为MapReduce Job的Map Task和Reduce Task向YARN ResourceManager请求容器(包含MapTask数据的本地化信息、输入分片的节点和机架信息、内存需求)。
        9、YARN ResourceManager的Scheduler为任务分配了Container后,MRAppMaster通知NodeManager来启动Container。
        10、Map Task或Reduce Task是一个java应用程序,主类是YarnChild。运行前会将需要的资源(配置、Jar包、来自分布式缓存的文件)进行本地化。
        11、开始运行Map Task或Reduce Task。

  • 相关阅读:
    [习题]输入自己的生日(年/月/日)#2 -- 日历(Calendar)控件的时光跳跃,一次跳回五年、十年前?--TodaysDate属性、VisibleDate属性
    Interesting effects
    kendoGrid methods方法
    kendoListBox 选择控件
    kendo format
    kendoGrid Event事件
    kendoGrid的一些基础配置
    kendoGrid edit功能
    kendoDatePicker日期选择控件
    Json与DataSet转化
  • 原文地址:https://www.cnblogs.com/mengyao/p/4652120.html
Copyright © 2011-2022 走看看