MapReduce处理流程三
前面主要是从数据处理角度 看的MR处理流程,现在从MR功能组件的角度看一下。
1、看下图
1.1 Hadoop两个主要的进程:jobtracker 、tasktracker
job 是比task 更大的概念,一个job 可以划分为多个 task 去完成。
tracker :字面意思跟踪器
顾名思义 jobtracker 用来跟踪 job执行的 ,
task则是跟踪具体的任务的执行。
1.2 jobtracker 有点像 饭店大厅客户经理(比喻成 服务员不恰当-- jobtracker属于管理层 ):
接受客人(jobclient)点餐请求,然后下达给后厨的 厨师小组组长(tasktracker) 任务。
1.3 tasktracker 就像后厨的 尽职尽责的 厨师小组组长:
接受前端的 任务,而且还特别实诚,每过一段时间主动上报 :
分给我的活干的怎么样了 、我 现在忙不忙。---- 心跳机制。
1.4 每一个工作节点上永远只会有一个tasktracker
-- 假定一个饭店有多个厨房, 一个厨房只有一个厨师小组长。
1.5 每一个tasktracker能够配置map和reduce的任务片数(taskslot),
这个数字代表每一种任务能被并行执行的数目。
---- 厨师小组长可以决定我这个厨房 配置几个厨师 ,多个厨师可以并行干活。
1.6 在一个组织结构中,既有管理者,又有执行者。而jobtracker,trasktracker则是管理者,
执行者是map task和reduce task。
上面一句来自 :https://blog.csdn.net/u012117710/article/details/53607942 。
感觉这个文章把一些地方说的比较清楚。
1.7 taskTracker启动一个独立的java进程来执行Map或Reduce任务