共计 1151 个字符,预计需要花费 3 分钟才能阅读完成。
首先,我们来看如下的一张图:
作业的整个运行过程分为 5 个步骤:
1、作业的提交和初始化。
用户提交作业后,由 JobClient 实例将作业相关信息(jar 包、配置文件 xml、分片元信息等)上传到 HDFS。
然后,JobClient 通过 RPC 通知 JobTracker。JobTracker 接收到新作业请求后,由作业调度模块对作业进行初始化,为作业创建一个 JobInProgress 对象以跟踪作业的运行状况,而 JobInProgress 则会为每个 Task 创建一个 TaskInProgress 对象以跟踪每个任务的运行状态,而 TaskInProgress 可能需要管理多个 Task 运行尝试(Task Attempt)。
2、任务调度和监控。
通过 MapReduce 的架构简介,我们知道,任务的调度和监控由 JobTracker 完成。TaskTracker 通过 Heartbeat 周期性地向 JobTracker 汇报本节点的资源使用情况,一旦出现空闲资源,任务调度器按照一定的策略选择合适的任务使用该空闲资源。另外,JobTracker 还跟踪整个作业的运行过程,保证作业最终顺利完成。
3、任务运行环境的准备。
运行环境包括 JVM 启动和资源隔离,这些都由 TaskTracker 实现。
4、任务的执行。
启动 Task 后,每个 Task 的最新进度先由 Task 通过 RPC 汇报给 TaskTracker, 再由 TaskTracker 汇报给 JobTracker。
5、作业运行完成。
直到所有 Task 执行完毕后,整个作业才算执行成功。
相关阅读 :
Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm
Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm
更多 Hadoop 相关信息见 Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13