美文网首页
Hadoop提交作业流程

Hadoop提交作业流程

作者: 为你变乖_09e6 | 来源:发表于2018-09-14 08:26 被阅读0次

    @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

    相关文章

      网友评论

          本文标题:Hadoop提交作业流程

          本文链接:https://www.haomeiwen.com/subject/dbyngftx.html