MapReduce1的工作机制和过程

MapReduce1的工作机制中,角色主要包括客户端, Jobtracker,Tasktracker

Jobtracker主要是协调作业的运行;而Tasktracker是负责运行作业划分之后的任务。

MapReduce过程:

1.首先是由客户端向Jobtracker请求一个新的作业,Jobtracker会检查作业的输出路径是否存在。若存在则抛出异常。若不存在的话,Jobtracker会向客户端返回job相关资源的提交路径以及jobID。

2.接下来就是客户端会将job所需的资源(jar文件,配置文件)提交到共享文件系统。并告知Jobtracker已将job复制到共享文件系统,准备执行。

3.Jobtracker将提交的Job放入内部的任务队列,由作业调度器进行调度,并进行初始化(包括创建一个表示正在运行作业的容器,用于封装任务和记录信息)

4.之后jobtracker的作业调度器从共享文件系统获取客户端计算好的输入切片,以创建任务运行列表

5.Tasktracker通过心跳与Jobtracker保持通信,报告自己的状态,以及是否准备好运行一个task,若准备好 ,Jobtracker则通过一定的调度算法从Jobtracker中获得一个task分配给Tasktracker。

6.Tasktracker在共享文件系统中获得任务相关资源,实现jar本地化,并创建响应的文件夹以及一个taskrunner运行该任务。

7.taskrunnr会启动一个新的JVM,在新启动的JVM中运行任务。

进度与状态的更新:有一个独立的线程向tasktracker报告当前任务状态。同时Tasktracker每隔5s向Jobtracker通过心跳发送状态。JobTracker将这些更新合并,发送给客户端。

转载于:https://my.oschina.net/u/4085644/blog/3017433

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值