主从结构
- 主节点,只有一个 : JobTracker ,JobTracker 一般情况下,运行在 namenode 这台机器上。
- 从节点,有很多个 : TaskTrackers , 部署在剩下的 datanode 上。
这里谈的 JobTracker 、TaskTrackers 都是 JVM。
JobTracker 负责:
- 接收客户提交的计算任务
计算任务: 肯定是一段代码---你要怎么操作我的数据。
- 把计算任务分给TaskTrackers 执行
- 监控TaskTracker的执行情况
我把任务分配给你了,能否分配成功?失败怎么办?工作的进度?工作的结果? 如果出现了这些问题,MapReduce都会透明的帮我们解决掉这些问题。假如被分配到任务的 TaskTracker 不能够 顺利的完成任务,JobTracker会透明的把任务切换到 另外一台虚拟机上。
但是这种 切换 我们是感觉不到的,这就是用框架的好处,我们写 java 的人只需要关注 业务逻辑。
TaskTrackers 负责 :
- 执行JobTracker分配的计算任务