Hadoop架构介绍——MapReduce的体系结构
来源:互联网 发布:公务员考试经验知乎 编辑:程序博客网 时间:2024/06/05 19:39
-分布式编程架构
-以数据为中心,更看重吞吐率
-分而治之(把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后整合各个节点的中间结果得到最终的输出)
-Map把一个任务分解成多个子任务
-Reduce将分解后的多任务分别处理,并将结果汇总为最终的结果
应用举例:清点图书馆藏书、统计单词的出现次数、混合辣椒酱的制作等等。
结构图:
也采用了Master-Slaver结构。
4个实体:
-Client
-JobTraker
-TaskTraker(任务节点)
-HDFS(输入、输出数据、配置信息等)
基本概念:
作业(Job):在Hadoop内部,用Job来表示运行的MapReduce程序所需要用到的所有jar文件和类的集合,这些文件最终都被整合到一个jar文件中,将此jar文件提交给JobTraker,MapReduce程序就会执行。
任务(Task):MapTask和ReduceTask
键值对(key/value pair)
Map()、Reduce()函数的输入、输出都是<key,value>的形式
HDFS存储的输入数据经过解析后,以键值对的形式,输入到MapReduce()函数中进行处理,输出一系列键值对作为中间结果,在Reduce阶段,对拥有同样Key值的中间数据进行合并形成最后结果。
生命周期:
1.提交作业
-在作业提交之前,需要对作业进行配置;
-程序代码,主要是自己编写的MapReduce程序;
-配置输入输出路径、输出是否压缩;
-配置完成后,通过JobClient来提交;
作业调度算法:
FIFO调度器(默认)、公平调度器、容量调度器
2.任务分配
-TaskTracker和JobTracker之间的通信与任务的分配是通过心跳机制完成的;
-TaskTracker会主动向JobTracker询问是否有作业要做,如果自己可以做,那么就会申请到作业任务,这个任务 可以使Map也可能是Reduce任务;
3.任务执行
-TaskTraker将代码和配置信息到本地;
-分别为每一个Task启动JVM运行任务
4.状态更新
-任务在运行过程中,首先会将自己的状态汇报给TaskTracker,然后由TaskTracker汇总告之JobTracker;
-任务进度是通过计数器来实现的;
-JobTracker是在接受到最后一个任务运行完成后,才会将作业标志为成功。
- Hadoop架构介绍——MapReduce的体系结构
- Hadoop架构介绍——HDFS的体系结构
- _00003 Hadoop MapReduce体系结构
- Hadoop体系结构之 Mapreduce
- Hadoop:MapReduce编程接口体系结构
- 极客学院Hadoop学习【MapReduce的体系结构】
- 下一代Apache Hadoop MapReduce框架的架构
- 下一代Apache Hadoop MapReduce框架的架构
- 下一代Apache Hadoop MapReduce框架的架构
- hadoop体系结构介绍
- [Hadoop] MapReduce架构设计
- [Hadoop] MapReduce架构设计
- Hadoop:MapReduce架构设计
- Hadoop MapReduce 架构
- MapReduce编程模型--接口体系结构--架构设计--《hadoop技术内幕》读书笔记
- Hadoop——MapReduce
- Hadoop—MapReduce
- 架构——Hadoop深入介绍
- 关于用户自动登录的问题
- C#随记5
- 2016.11.10 js(复习3完)
- Python3之re模块
- java练习(小数输出)ZZULIOJ-1008: 美元和人民币
- Hadoop架构介绍——MapReduce的体系结构
- 白平衡 matlab 程序 0.01%最小值
- 二、什么是MongoDB
- Android的工程依赖
- AndroidSocket通信实现
- flume实时接收kafka消息并保存至HDFS
- mysql与事务
- caffe实例编译之cifar10_quick模型的生成与使用(1)
- 流程控制语句的一些理解和困惑