MapReduce中几个重要组件
来源:互联网 发布:宝贝标题优化工具 编辑:程序博客网 时间:2024/05/16 14:57
一、ResourceManager
- ResourceManager是YARN资源控制框架的中心模块,负责集群中所有的资源的统一管理和分配。它接收来自NodeManager的汇报,建立ApplicationMaster,并将资源派送给ApplicationMaster。
- ResourceManager包括两部分:
Scheduler:调度器,为每个正在运行的应用程序分配资源
ApplicationsManager:应用程序管理器。提交应用程序,与Scheduler协调资源以启动ApplicationMaster,监控ApplicationMaster的运行状态并在任务失败时重新为ApplicationMaster向Scheduler申请资源以启动它。
二、ApplicationMaster
- YARN中每个应用都会启动一个AM,负责向RM申请资源,请求NM启动container,告诉container做什么事情。
- 它的主要功能如下:
与ResourceManager协商以获得资源
将得到的任务进一步分配给内部任务
与NodeManager通信以启动或停止任务
监控所有任务的运行状态,并在任务运行失败时为其重新申请资源以重启任务
三、NodeManager
- 定期向Resorece汇报本节点的资源使用情况和各个container运行状态
- 接收并处理来自Application的container停止或运行请求
- 简称NM,NodeManager是ResourceManager在每台机器的上代理,负责容器的管理,并监控他们的资源使用情况(cpu,内存,磁盘及网络等),以及向 ResourceManager提供这些资源使用报告。
四、Container
- 封装了某个节点上的内存、CPU、磁盘、网络等资源
- YARN会为每个任务分配一个Container,且该任务只能使用Container中描述的资源
- 是动态的资源划分单位,根据应用程序的需求动态生成的
- 每个节点默认分配8个Container
- 是资源容器。YARN中所有的应用都是在container之上运行的。AM也是在container上运行的,不过AM的container是RM申请的。
- Container由ApplicationMaster向ResourceManager申请的,由ResouceManager中的资源调度器异步分配给ApplicationMaster
- Container的运行是由ApplicationMaster向资源所在的NodeManager发起的,Container运行时需提供内部执行的任务命令(可以是任何命令,比如java、Python、C++进程启动命令均可)以及该命令执行所需的环境变量和外部资源(比如词典文件、可执行文件、jar包等)。
- 一个应用程序所需的Container分为两大类运行ApplicationMaster的Container:这是由ResourceManager(向内部的资源调度器)申请和启动的,用户提交应用程序时,可指定唯一的ApplicationMaster所需的资源;
阅读全文
0 0
- MapReduce中几个重要组件
- android中重要的几个组件
- MapReduce 重要组件——Partitioner组件
- Netty的几个重要组件
- Netty中重要组件
- (转)MapReduce 重要组件——Recordreader组件
- hibernate中几个重要对象
- Mybatis中几个重要类
- Mybatis中几个重要类
- Mybatis中几个重要类
- Mybatis中几个重要类
- Mybatis中几个重要类
- 无线通信中几个重要概念
- Mybatis中几个重要类
- Zookeeper中几个重要概念
- mapReduce中重要参数调优
- 用友ERP中几个重要名词解释
- flex中几个重要的函数
- 大数据预科班串讲
- 洛谷 P2715 约数和(唯一分解定理+等比数列求和+乘法逆元)
- 机器人智能回复 智能聊天 朋友圈 加粉 采集ID
- JsonDataObjects序列和还原
- gulp API
- MapReduce中几个重要组件
- POJ-1321-棋盘问题(搜索)
- 1028. List Sorting (25)
- 详解JavaScript中this的指向
- 购物相关
- JQuery语法基础
- string string string HDU
- 9.14
- 解密MySQL备份恢复的4种方法