Distributed System: Hadoop MapReduce框架的角色和Job提交过程
来源:互联网 发布:刚开淘宝店铺怎么装修 编辑:程序博客网 时间:2024/04/27 16:08
转载自:http://zheming.wang/blog/2015/05/19/3AFF5BE8-593C-4F76-A72A-6A40FB140D4D/
Map/Reduce计算集群由一个单独的JobTracker(master) 和每个集群节点一个 TaskTracker(slave)共同组成。
JobTracker负责调度构成一个作业的所有任务,这些任务会被分派到不同的TaskTracker上去执行,JobTracker会监控它们的执行、重新执行已经失败的任务。(失败重启由JobTracker确保)
而TaskTracker仅负责执行由JobTracker指派的任务。
另外,提一下Job的流程:
JobClient提交作业的过程如下:
(1) map/reduce程序通过runJob()方法新建一个JobClient实例;
(2) 向JobTracker请求一个新jobID,通过JobTracker的getNewJobId()获取;
(3) 检查作业输入输出说明。如果没有指定输出目录或者输出目录已经存在,作业将不会被提交,map/reduce程序; 输入作业划分split,如果划分无法计算(如:输入路径不存在),作业将不会被提交,错误返回给map/reduce程序。
(4) 将运行作业所需要的资源(作业的jar文件、配置文件、计算所得的输入划分)复制到一个以作业ID命名的目录中;
(5) 通过调用JobTracker的submitJob()方法,告诉JobTracker作业准备提交;
(6) JobTracker将提交的作业放到一个内部队列中,交由作业调度器进行调度,并对其进行初始化。
(7) 创建Map任务、Reduce任务:一个split对应一个map,有多少split就有多少map; Reduce任务的数量由JobConf的mapred.reduce.tasks属性决定
(8) TaskTracker执行一个简单的循环,定期发送心跳(heartbeat)给JobTracker
- Distributed System: Hadoop MapReduce框架的角色和Job提交过程
- Hadoop源码分析23:MapReduce的Job提交过程
- Hadoop MapReduce Job 提交的多种方案
- MapReduce: Job提交过程
- Hadoop MapReduce 深入MapReduce Job 提交
- Hadoop MapReduce Job提交后的交互日志
- MapReduce剖析笔记之二:Job提交的过程
- Hadoop中Job提交过程
- Hadoop Job的提交
- mapReduce job的提交流程
- 详解hadoop1.0 MapReduce job 提交过程
- Hadoop源码分析(三)--------------job提交过程分析(3)之job的split过程
- Hama框架学习(一) 从源码角度分析job的提交和运行过程
- mapreduce yarn 的job提交流程
- hadoop的mapreduce过程
- Distributed System: 常见的分布式计算工具以及MapReduce详解
- 关于hadoop mapreduce的job cleanup阶段
- MapReduce Job本地提交过程源码跟踪及分析
- volatile可见性原理
- android 长连接库
- javase保留小数点
- 当spring 容器初始化完成后执行某个方法
- geoserver跨版本跨环境迁移
- Distributed System: Hadoop MapReduce框架的角色和Job提交过程
- linux tar命令
- java多线程:10、阻塞队列【Condition】
- 编译原理学习笔记(四)预测分析器(1)
- Spark ML 分布式机器学习(一):iPython+spark安装与环境变量配置
- iOS 安全模型浅析(三) ---- 数据保护和全盘加密
- Linux 搭建 redis 单机环境
- 我是如何通过添加一条命令学习redis源码的
- Linux内核如何装载和启动一个可执行程序