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架构设计

MapReduce-01

                     Clinet:客户端将作业提交给JobTracker             

                     JobTracker:主要负责资源监控管理和作业调度

                                          监控所有TaskTracker与job的健康情况,如果失败就转移到其他节点

                                          JobTracker会用心跳方式跟踪任务执行进度、资源使用等信息,并告诉Task Scheduler去平衡资源

                     TaskTracker:JobTracker与Task间的桥梁

                                           从JobTracker接收执行命令:运行、提交、Kill、重新初始化任务等

                                           周期性心跳机制,将节点健康情况和资源使用情况、各个任务的进度和状态汇报给JobTracker

                     Task Scheduler:任务调度器(FIFO,先按照作业的优先级高低,再按照到达时间的先后选择被执行的作业)

                     Map Task:映射任务

                     Reduce Task:归约任务

         MapReduce2架构设计

MapReduce-01

                     Yarn:

                              ResourceManager:

                                                              Application Manager:应用程序按惯例

                                                              Scheduler:调度器

                              NodeManager:

                                                              Container:容器

                                                              容器里运行map task、reduce task

                     MR Application Master:每个MR2作业只有一个,运行在NM的容器中

    a.第一阶段是启动AppMaster

    b.第二阶段是由AppMaster创建应用程序,为他申请资源,并监控他的整个运行过程,知道作业完成

5. 词频统计