zoukankan      html  css  js  c++  java
  • Yarn

    一、yarn中的角色:

    ResourceManager:集群计算资源的分配启动ApplicationMaster监控NodeManager的状态

    NodeManager:启动和管理节点中的容器

    ApplicationMaster:运行mapreduce任务,每个job有一个,分配map在哪里运行,reduce在哪里运行。

    二、yarn 中 MapReduce 的 job的运行流程:

    工作机制详解

    (0)Mr程序提交到客户端所在的节点,Yarnrunner向Resourcemanager申请一个Application。

    (2)rm将该应用程序的资源路径返回给yarnrunner

    (3)该程序将运行所需资源提交到HDFS上

    (4)程序资源提交完毕后,申请运行mrAppMaster

    (5)RM将用户的请求初始化成一个task

    (6)其中一个NodeManager领取到task任务。

    (7)该NodeManager创建容器Container,并产生MRAppmaster

    (8)Container从HDFS上拷贝资源到本地

    (9)MRAppmaster向RM 申请运行maptask容器

    (10)RM将运行maptask任务分配给另外两个NodeManager,另两个NodeManager分别领取任务并创建容器。

    (11)MR向两个接收到任务的NodeManager发送程序启动脚本,这两个NodeManager分别启动maptask,maptask对数据分区排序。

    (12)MRAppmaster向RM申请2个容器,运行reduce task。

    (13)reduce task向maptask获取相应分区的数据。

    (14)程序运行完毕后,MR会向RM注销自己。

    https://www.cnblogs.com/frankdeng/p/9311474.html

    1、将MR程序提交到客户端所在的节点,运行hadoop jar命令后,会产生RunJar进程,客户端clinet会向ResourceManager申请执行一个job。

    2、ResourceManager收到请求后,会向clinet返回job的提交路径和jobid。

    3、clinet会将job提交到相应的共享文件路径下 /yarn-staging/jobid。

    4、clinet向ResourceManager汇报提交结果,并申请运行MRAppMaster。

    5、ResourceManager将这个job加入到任务队列中。

    6、NodeManager通过与ResourceManager的心跳连接,从任务队列中获取新的任务。

    7、ResourceManager使用资源调度器为NodeManager分配资源容器。

    8、ResourceManager在容器中启动MRAppMaster进程。

    9、由MRAppMaster来分配在哪些NodeManager上运行map,哪些运行reduce任务。

    10、运行map、reduce任务的NodeManager从共享文件系统中获取job相关资源,包括jar文件和配置文件等。然后运行map和reduce任务。

    11、job任务完成后,MRAppMaster向ResourceManager注销自己,让其回收资源。

    三、yarn中的三种资源调度器:

    资源调度器https://blog.csdn.net/qq_21383435/article/details/82659947

    1、FIFO调度器:

      先进先出,同一时间队列中只有一个任务在执行。

     2、容量调度器:

      多队列;每个队列内部先进先出,同一时间队列中只有一个任务在执行。队列的并行度为队列的个数。

     3、公平调度器:

      多队列;每个队列内部按照缺额大小分配资源启动任务,同一时间队列中有多个任务执行。队列的并行度大于等于队列的个数。

  • 相关阅读:
    Python3学习之路~8.5 SocketServer实现多并发
    Python3学习之路~8.4 利用socket实现文件传送+MD5校验
    [jzyzoj2021]lca模板题
    [BZOJ4542] [JZYZOJ2014][Hnoi2016] 大数(莫队+离散化)
    BZOJ3289[JZYZOJP2018]: Mato的文件管理 莫队+树状数组+离散化
    离散化的后续
    数据离散化 ( 以及 stl 中的 unique( ) 的用法 )+ bzoj3289:Mato的文件管理
    stl upper_bound()
    [BZOJ 3720][JZYZOJ 2016]gty的妹子树 强制在线 树分块/树套树
    所以学树分块的时候为什么要看vector啊sjb
  • 原文地址:https://www.cnblogs.com/guoyu1/p/12017868.html
Copyright © 2011-2022 走看看