zoukankan      html  css  js  c++  java
  • Hadoop提交作业流程

    @PostMapping("/login")

    public ResultVOregister( StudentWechat studentWechat ){

    log.info("授权登录信息: {}", JSON.toJSONString(studentWechat));

        Map tokenMap =studentService.login(studentWechat);

        return ResultVOUtil.success(tokenMap);

    }

    一 、基础巩固

    1.ResourceManager调度器   a.默认调度器 ------先进先出FIFO

                                                   b.公平调度器 ------ 每个任务都有执行的机会

    2.心跳机制  ------ NodeManager通过心跳机制健康状况汇报ResourceManager,ResourceManager则会根据每个NodeManager的健康状况调整分配的任务数目。当NodeManager认为自己的健康状况“欠佳”时,可让ResourceManager不再分配任务,待健康状况好转时,再分配新任务。

    二 、Hadoop工作流程:

     
    hadoop提交作业流程

    1. Client中,客户端提交一个mr的jar包给JobClient(提交方式:hadoop jar ...)

    2. JobClient持有ResourceManager的一个代理对象,它向ResourceManager发送一个RPC请求,告诉ResourceManager作业开始,

           然后ResourceManager返回一个JobID和一个存放jar包的路径给Client

    3. Client将得到的jar包的路径作为前缀,JobID作为后缀(path = hdfs上的地址 + jobId) 拼接成一个新的hdfs的路径,然后Client通过FileSystem向   hdfs中存放jar包,默认存放10份(NameNode和DateNode等操作)

    4. 开始提交任务,Client将作业的描述信息(JobID和拼接后的存放jar包的路径等)RPC返回给ResourceManager

    5. ResourceManager进行初始化任务,然后放到一个调度器中

    6. ResourceManager读取HDFS上的要处理的文件,开始计算输入分片,每一个分片对应一个MapperTask,根据数据量确定起多少个mapper,多少个reducer

    7. NodeManager 通过心跳机制向ResourceManager领取任务(任务的描述信息)

    8. 领取到任务的NodeManager去Hdfs上下载jar包,配置文件等

    9. NodeManager启动相应的子进程yarnchild,运行mapreduce,运行maptask或者reducetask

    10. map从hdfs中读取数据,然后传给reduce,reduce将输出的数据给回hdfs

      
    链接:https://www.jianshu.com/p/39dc8d6599ae 
  • 相关阅读:
    ES6知识点整理之----解构赋值----对象
    ES6知识点整理之----解构赋值----数组
    ES6知识点整理之----声明变量总结与global
    ES6知识点整理之----const
    ES6知识点整理之----块级作用域
    ES6知识点整理之----let
    ES6知识点整理之----历史及简介
    推荐大家使用的CSS书写规范、顺序
    meta标签补充属性(viewport)
    meta标签属性总结
  • 原文地址:https://www.cnblogs.com/javalinux/p/14930243.html
Copyright © 2011-2022 走看看