Hadoop MapReduce 程序执行过程
2016-05-23 16:42
253 查看
1、下图展示了Hadoop MapReduce 并行计算框架上执行一个用户提交的MapReduce程序的过程。
①首先,程序客户端通过作业客户端接口程序JobClient提交一个用户程序。
②然后JobClient先JobTracker提交作业执行请求并获得一个JobID
③JobClient同时也会将用户程序作业和待处理的数据文件信息准备好并存储在HDFS中。
④JobClient正式向JobTracker提交和执行该作业
⑤JobTracker接受并调度该作业,并进行作业的初始化准备工作,根据待处理数据的实际分片情况,调度和分配一定的Map节点来完成作业
⑥JobTracker查询作业中的数据分片信息,构建并准备相应的任务。
⑦JobTracker启动TashTracker节点开始执行具体的任务
⑧TaskTracker根据所分配的具体任务,获取相应的作业数据
⑨TaskTracker节点创建所需要的java虚拟机,并启动相应的Map任务(或Reduce任务)的执行
十TashTracker执行完所分配的任务之后,若是Map任务,则把中间结果数据输出到HDFS中,若是Reduce任务,则输出到最终结果
十一 TaskTracker向JobTracker报告所分配的任务完成,若是Map任务完成并且后去还有Reduce任务,则JobTracker会分配和启动Reduce节点继续处理中结果并输出最终结果。
①首先,程序客户端通过作业客户端接口程序JobClient提交一个用户程序。
②然后JobClient先JobTracker提交作业执行请求并获得一个JobID
③JobClient同时也会将用户程序作业和待处理的数据文件信息准备好并存储在HDFS中。
④JobClient正式向JobTracker提交和执行该作业
⑤JobTracker接受并调度该作业,并进行作业的初始化准备工作,根据待处理数据的实际分片情况,调度和分配一定的Map节点来完成作业
⑥JobTracker查询作业中的数据分片信息,构建并准备相应的任务。
⑦JobTracker启动TashTracker节点开始执行具体的任务
⑧TaskTracker根据所分配的具体任务,获取相应的作业数据
⑨TaskTracker节点创建所需要的java虚拟机,并启动相应的Map任务(或Reduce任务)的执行
十TashTracker执行完所分配的任务之后,若是Map任务,则把中间结果数据输出到HDFS中,若是Reduce任务,则输出到最终结果
十一 TaskTracker向JobTracker报告所分配的任务完成,若是Map任务完成并且后去还有Reduce任务,则JobTracker会分配和启动Reduce节点继续处理中结果并输出最终结果。
相关文章推荐
- 用IIS配置反向代理
- [置顶] Hive架构以及应用介绍
- 持续集成 Tomcat + Jenkins + ANT + SVN + Selenium
- Ubuntu14.04下安装docker
- Linux文件操作
- Hadoop HA+Zookeeper
- photoshop图像处理技术(二)
- (十五)洞悉linux下的Netfilter&iptables:开发自己的hook函数【实战】(上)
- linux 系统 ko模块编译
- Linux线程间同步机制_条件变量
- Hadoop学习
- LinuxC/C++编程(3)—异步清理子进程(避免成为僵尸进程)
- 解决linux语言环境问题
- linux基础(26)--自定义日志、日志回滚、远程日志--RHEL6.5
- tomcat的中的Apache的apr是个啥东东???
- 使用OpenCV进行摄像机标定
- (ZZ)CentOS yum 源的配置与使用
- N个免费DevOps开源工具,没用过,至少应该了解!
- linux实际应用小技巧
- ORA-01756: quoted string not properly terminated问题