MapReduce 工作机制剖析
来源:互联网 发布:为人谋而不忠乎的读音 编辑:程序博客网 时间:2024/05/16 18:36
MapReduce工作机制剖析:
1. 在集群中的任意一个节点提交MapReduce程序;
2. JobClient收到作业后,JobClient向JobTracker请求获取一个Job ID;
3. 将运行作业所需要的资源文件复制到HDFS上(包括MapReduce程序打包的JAR文件、配置文件和客户端计算所得的输入划分信息),这些文件都存放在JobTracker专门为该作业创建的文件夹中,文件夹名为该作业的Job ID;
4. 获得作业ID后,提交作业;
5. JobTracker接收到作业后,将其放在一个作业队列里,等待作业调度器对其进行调度,当作业调度器根据自己的调度算法调度到该作业时,会根据输入划分信息为每个划分创建一个map任务,并将map任务分配给TaskTracker执行;
6. 对于map和reduce任务,TaskTracker根据主机核的数量和内存的大小有固定数量的map槽和reduce槽。这里需要强调的是:map任务不是随随便便地分配给某个TaskTracker的,这里有个概念叫:数据本地化(Data-Local)。意思是:将map任务分配给含有该map处理的数据块的TaskTracker上,同时将程序JAR包复制到该TaskTracker上来运行,这叫“运算移动,数据不移动”;
7. TaskTracker每隔一段时间会给JobTracker发送一个心跳,告诉JobTracker它依然在运行,同时心跳中还携带着很多的信息,比如当前map任务完成的进度等信息。当JobTracker收到作业的最后一个任务完成信息时,便把该作业设置成“成功”。当JobClient查询状态时,它将得知任务已完成,便显示一条消息给用户;
8. 运行的TaskTracker从HDFS中获取运行所需要的资源,这些资源包括MapReduce程序打包的JAR文件、配置文件和客户端计算所得的输入划分等信息;
9. TaskTracker获取资源后启动新的JVM虚拟机;
10. 运行每一个任务;
- MapReduce 工作机制剖析
- MapReduce的工作机制
- MapReduce工作机制总结
- MapReduce的工作机制
- MapReduce 工作机制
- MapReduce的工作机制
- MapReduce的工作机制
- MapReduce 的工作机制
- MapReduce工作机制图
- MapReduce工作机制
- MapReduce工作机制
- 06 MapReduce工作机制
- mapreduce 的工作机制
- Mapreduce&yarn工作机制
- MapReduce的工作机制
- MapReduce的工作机制
- hadoop,MapReduce的工作机制
- Mapreduce 整个工作机制图
- Math.abs为Integer.Min_VALUE返回错误的值
- ajax+servlet的网站架构
- 计算两个坐标点之间的距离
- QString与string的相互转换
- 判断一周的某一天的函数接口
- MapReduce 工作机制剖析
- TCP/IP协议学习之一(以太网帧格式)
- 零基础学python-2.2 输入 input()
- [数论]小于n且与n互素的个数(欧拉函数)
- HDU 4417 Super Mario // 线段树
- Python绘制excel表格到邮件正文区并发送脚本实例
- 另类总结BRD,MRD,PRD到底是干嘛用的,有啥区别。
- Linux开关机相关命令
- muduo::Connector、TcpClient分析