FREE教程
目录
  • 主页
  • Oracle教程
  • redis教程
  • hadoop
  • ODI教程
  • BIEE教程
hadoop教程
hadoop教程 初识hadoop hadoop vs 其它系统 Hadoop HDFS文件系统介绍 hadoop 详细安装步骤 hadoop分布式集群安装(1) hadoop安装(2)_配置节点SSH无密码访问 hadoop安装(3)_Linux配置JDK环境 hadoop安装(4)_下载安装配置hadoop hadoop不同版本区别 hadoop hdfs 命令行客户端(shell)常用使用命令 web界面访问hadoop hdfs管理界面 idea 访问hadoop hdfs方法 idea 搭建hadoop开发环境 java Api操作hdfs文件系统 MapReduce介绍 hadoop的Mapreduce运行机制(一) hadoop的Mapreduce运行机制(二) Mapreduce中Map任务的运行机制 Mapreduce中reduce任务的运行机制 Mapreduce入门程序wordcount
分类导航
Oracle基础教程 PL/SQL教程 Oracle管理 Oracle备份和恢复 Oracle RAC Oracle优化 Oracle技术 redis基础教程 hadoop教程
    首页->hadoop->hadoop教程->hadoop的Mapreduce运行机制(一)
MapReduce介绍
hadoop的Mapreduce运行机制(二)

hadoop的Mapreduce运行机制(一)

上文对MapReduce并行计算做了一个简单的介绍,我们知道MapReduce的核心思想就是“分而治之”。那么本文继续讲解Hadoop中Mapreduce是如何运行的。但是在介绍运行机制之前先给大家介绍一下Mapreduce计算过程中需要涉及的一些对象的定义,如下:

1、client客户端:编写并提交MapReduce程序。

2、JobTracker:初始化作业,作业任务的分配,与TaskTracker进行通信,并管理整个MapReduce任务的运行。

3、TaskTracker:从JobTracker接收相关指令,运行、杀死等相关本地节点任务TASK。汇报节点相关情况给JobTracker。

4、HDFS文件系统:报存作业(job)的结果数据以及相关配置信息。

这里的JobTracker与TaskTracker的角色相当于HDFS文件系统当中的NameNode(主节点)与DataNode(数据节点)一样。

MapReduce1.0任务运行过程

下面通过图解一步一步介绍hadoop1.0中MapReduce任务的运行过程:

1605955885091_525274.png

1、作业(job)提交

客户端(client)编写好MapReduce程序后并运行(如图步骤1),接下来就是要把程序(即任务)提交到JobTracker上。首先

1.1、如图步骤2向Jobtracker node提交申请,获取一个作业ID(get new job id).

1.2、计算作业的输入分片大小,将运行作业的相关代码、配置文件、输入分片的计算资源以作业id命名复制到hdfs文件系统上。如步骤3。

1.3、通过jobtracker提交作业(submit job)如步骤4。

2、作业初始化

提交完作业后,JobTracker就会对作业进行初始化,如步骤5,初始化的作用是将要执行的job放到队列当中,让作业调度器能够调度的到这个作业,以便JobTracker能够跟踪job的状态和进程。

3、作业任务分配

初始化完毕后,作业调度器会根据程序从HDFS中获取输入分片信息(input split),如步骤6。接着为每个分片创建一个map任务,这个任务运行在tasktracker node节点上。Tasktracker会定期发送心跳给jobtracker(如步骤7),心跳间隔是5秒(这个时间可以参数设定),通过心跳,jobtracker可以监控tasktracker是否存活,也可以获取tasktracker处理的状态和问题,同时tasktracker相关的指令也可以通过心跳传递。

4、作业任务的执行

任务分配好后就是执行任务了(如步骤9、10)。在任务执行时候jobtracker可以通过心跳机制监控tasktracker的状态和进度,同时也能计算出整个job的状态和进度,而tasktracker也可以本地监控自己的状态和进度。

5、作业任务完成

当jobtracker获得了最后一个完成指定任务的tasktracker操作成功的通知时候,jobtracker会把整个job状态置为成功,然后当客户端查询job运行状态时候(注意:这个是异步操作),客户端会查到job完成的通知的(如步骤8)。


上面关于mapreduce的运行机制是基于hadoop1.0的运行机制,这个是早期hadoop版本的运行方式,hadoop2.0会引入yarn,并对hadoop 的mapreduce框架进行调整。

MapReduce介绍
hadoop的Mapreduce运行机制(二)
关于我们 | 免责声明 | Copyright ? 2018 FREE教程 | 备案号:闽ICP备18020855号-1
公安备案

闽公网安备 35020602001245号