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