MapReduce-01
1. MapReduce 版本变化:
Hadoop1.x:MR1(计算+资源作业调度)
Hadoop2.x:MR2(计算,将资源作业调度给了Yarn)
2. MapReduce 进程:
MR1:过时了
JobTracker
TaskTracker:map task、reduce task
MR2:写代码打jar包交给yarn运行
不需要部署
架构设计(高内聚,低耦合)-->MR作业提交到Yarn的工作流程-->Yarn架构设计-->Yarn的工作流程
3. Yarn
ResourceManager:
Application Manager:应用程序管理
Scheduler:调度器
NodeManager
Container:容器(有调优空间)Yarn的资源抽象的概念,封装了某个NM的多维度资源(内存和CPU)
容器里运行map task、reduce task
4. MapReduce2架构设计与1对比
MapReduce1架构设计
Clinet:客户端将作业提交给JobTracker
JobTracker:主要负责资源监控管理和作业调度
监控所有TaskTracker与job的健康情况,如果失败就转移到其他节点
JobTracker会用心跳方式跟踪任务执行进度、资源使用等信息,并告诉Task Scheduler去平衡资源
TaskTracker:JobTracker与Task间的桥梁
从JobTracker接收执行命令:运行、提交、Kill、重新初始化任务等
周期性心跳机制,将节点健康情况和资源使用情况、各个任务的进度和状态汇报给JobTracker
Task Scheduler:任务调度器(FIFO,先按照作业的优先级高低,再按照到达时间的先后选择被执行的作业)
Map Task:映射任务
Reduce Task:归约任务
MapReduce2架构设计
Yarn:
ResourceManager:
Application Manager:应用程序按惯例
Scheduler:调度器
NodeManager:
Container:容器
容器里运行map task、reduce task
MR Application Master:每个MR2作业只有一个,运行在NM的容器中
a.第一阶段是启动AppMaster
b.第二阶段是由AppMaster创建应用程序,为他申请资源,并监控他的整个运行过程,知道作业完成
5. 词频统计