• 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 
  • 相关阅读:
    HDU5873
    HDU5874
    HDU1565(状态压缩dp)
    POJ2774(二分+哈希)
    HDU4474
    HDU2602(背包)
    单链表
    POJ2503(hash)
    POJ1200(hash)
    顺序表
  • 原文地址:https://www.cnblogs.com/javalinux/p/14930243.html
Copyright © 2020-2023  润新知