MapReduce1.X与2.X的对比
来源:互联网 发布:二手备案域名 编辑:程序博客网 时间:2024/04/28 20:07
MR2.X相较与MR1.X 做了比较大的优化,降低的MR中JobTracker的压力,将其资源管理及任务的生命周期管理都拆分成独立的组件,更名为YARN
MapReduce1.X
架构组成:
- JobTracker(JT)
- 作业的管理者
- 将作业切分成任务:MapTask和ReduceTask
- 将任务分派给TaskTracker执行
- 作业的监控,接受心跳信息,如果没有收到心跳信息,就切换到其他TT执行任务
- TaskTracker:TT
- 执行JT下发下来的任务
-在TT上执行Task - 与JT通信交流,并发送心跳信息
- 执行JT下发下来的任务
- MapTask
- 开发map任务交由MapTask处理
- 解析数据,并交给map方法处理
- 将map的处理结果写入到本地磁盘
- ReduceTask
- 读取MapTask输出数据
- 将数据按照我们自己编写的reduce方法处理
- 输出结果写入HDFS
- JobTracker(JT)
架构图
MapReduce2.X
YARN架构:
ResourceManager:RM
- 负责集群的统一管理和调度
- 处理客户端对作业的请求
- 监控NM,随时准备其他NM替换它
NodeManager:NM
- 负责本身节点资源的管理和使用
- 定期向RM汇报心跳信息
- 接受处理RM的命令
- 接受处理AM的命令
- 单个节点的资源管理
- ApplicationMaster:AM
- 每个应用程序对应一个MR或者Spark,负责应用程序的管理
- 向RM申请资源(core、meory),分配给内部task
- 与NM通信,AM在NM中
- Container
- 封装了CPU、Memory等资源的一个容器
- 任务环境的抽象
- Client
- 提交作业
- 查看作业进度
- 杀死作业
架构图
运行路径
- 用户向YATN提交应用程序,包括ApplicationMaster程序、启动ApplicationMaster命令和用户程序
- RM为该程序分配第一个容器,并与NM通信要求其在这个容器启动AM
- AM向RM注册,使得用户可以监控状态,AM将为各个任务申请资源,监控,直到结束
- AM以轮询的方式通过RPC协议向RM申请并领取资源。
- 申请资源后与对应的NM交流,启动相应任务
- NM为该任务设置运行环境 后,将任务命令写到脚步中,并通过该脚本启动任务
- 各个任务通过RPS协议与AM交互,用户可以通过AM实时查看运行状态
- 应用程序执行完毕,AM向RM申请注销并关闭自己
总结为两个阶段:
- 启动AM
- 由AM为应用程序创建,申请资源,监控运行过程,直至结束
阅读全文
0 0
- MapReduce1.X与2.X的对比
- Apache Hadoop 2.2.0MapReduce1.x向2.x迁徙
- MapReduce1.1.2&0.2x区别
- 3.RxJava2.x与RxJava1.x的差异对比
- TP5与TP3.X版本的对比
- MapReduce2和MapReduce1的架构设计对比
- TP5与TP3.X对比
- TP5与TP3.X对比
- TP5与TP3.X对比
- hadoop1.x和hadoop2.x的对比
- Struts 1.x 对比 Struts 2.x
- x--与--X的区别
- cocos2dx 2.x与cocos2dx 3.x类库用法对比
- Apache Http Server 2.2x 与 2.4x 对比
- Android3.X 与 2.X
- TP5与TP3.X大对比
- #define sqrt(x) (x*x)与#define sqrt(x) x*x 的区别
- Python3.x和Python2.x的差异对比
- Dubbo之——改造Dubbo,使其能够兼容Spring 4注解配置
- 深究|Elasticsearch单字段支持的最大字符数?
- thinkphp5+easywechat:微信公众号内支付
- Java中流程控制
- 月考
- MapReduce1.X与2.X的对比
- android常用地图坐标转换
- NFC源码分析之初始化流程
- 动态规划---最大子段和,最大子矩阵和,最大m子段和
- elasticsearch别的机器无法访问9200端口
- java基础杂谈(三)之静态数据初始化
- 二叉树·判断相同二叉搜索树
- JAVA--HttpServlet
- mysql 如何恢复数据?