设为首页 加入收藏

TOP

Hadoop提交作业------>hadoop工作流程
2019-05-15 12:36:12 】 浏览:12
Tags:Hadoop 提交 作业 ------> hadoop 工作流程
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hongchenlingtian/article/details/53524705

一 、需要知道的内容

1.ResourceManager ------>yarn的老大
2.NodeManager ------>yarn的小弟
3.ResourceManager调度器 a.默认调度器------>先进先出FIFO
b.公平调度器------>每个任务都有执行的机会
......
4.心跳机制 ------>NodeManager可通过心跳机制将节点健康状况实时汇报给ResourceManager,而ResourceManager则会 根据每个NodeManager的健康状况适当调整分配的任务数目。当NodeManager认为自己的健康状况“欠 佳”时,可让ResourceManager不再分配任务,待健康状况好转时,再分配新任务。

5.NodeManager子进程------>独立于NodeManager,不在NodeManager内部


二 、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



编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇azkaban-web-start.sh启动时出现T.. 下一篇结合案例讲解MapReduce重要知识点..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(214) }