hadoop基础三:YARN简介、组件
【摘要】
你的点赞与评论是我最大的创作动力!
YARN定位
云计算三层服务: IaaS、PaaS、SaaS YARN属于PaaS层。
YARN设计目标
通用的统一资源管理系统
同时运行长应用程序和...
你的点赞与评论是我最大的创作动力!
YARN定位
云计算三层服务:
IaaS、PaaS、SaaS
YARN属于PaaS层。
YARN设计目标
- 通用的统一资源管理系统
- 同时运行长应用程序和短应用程序
- 长应用程序
- 通常情况下,永不停止运行
- Service(hadoop、Spark、Storm)、HTTP Server等
- 短应用程序
- 短时间(秒级、分钟级、小时级)内会运行结束的程序
- MR job、Spark Job等
YARN服务组件
1、组件
Client
ResourceManager、Application Master
NodeManager、Container
- YARN总体上仍然是Master/Slave结构,在整个资源管理框架中,ResourceManager为Master,NodeManager为Slave。
- ResourceManager负责对各个NodeManager上的资源进行统一管理和调度
- 当用户提交一个应用程序时,需要提供一个用以跟踪和管理这个程序的。
- ApplicationMaster,它负责向ResourceManager申请资源,并要求NodeManger启动可以占用一定资源的任务。
- 由于不同的ApplicationMaster被分布到了不同的节点上,因此他们之间不会相互影响。
2、其他组件
JobHistoryServer、TimelineServer、mr-jobhistory-daemon.sh start historyserver
ResourceManager
- 全局的资源管理器,整个集群只有一个,负责集群资源的统一管理和调度分配。
功能:
- 处理客户端请求
- 启动、监控ApplicationMaster
- 监控NodeManager
- 资源分配与调度
NodeManager
- 整个集群有多个,负责单节点资源管理和使用
功能
- 单个节点上的资源管理和任务管理
- 处理来自ResourceManager的命令
- 处理来自ApplicationMaster的命令
NodeManager管理抽象容器,这些容器代表着可供一个特定应用程序使用的针对每个节点的资源。
定时地向RourceManager汇报本节点上的资源使用情况和各个Container的运行状态。
Application Master
- 管理一个YARN内运行的应用程序的每个实例
功能
- 数据切分
- 为应用程序申请资源,并进一步分配给内部任务
- 任务监控与容错
负责协调来自ResourceManager的资源,开通过NodeManager监视容器的执行和资源使用(CPU、内存等的资源分配)
Container
- YARN中的资源抽象,封装某个节点上多维度资源,如内存、CPU、磁盘、网络等,当AM向RM申请资源时,RM向AM返回的资源便是用Container表示的。
- YARN会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源。
功能
- 对任务运行环境的抽象
- 描述一系列信息
- 任务运行资源(节点、内存、CPU)
- 任务启动命令
- 任务运行环境
YARN优势
- 更快地MapReduce计算
- YARN利用异步模型对MapReduce框架的一些关键逻辑结构(如:JobIonprogress、TaskInProgress等)进行了重写,相比于MRv1,具有更快地计算速度。
- 对多框架支持
- YARN不再是一个单纯的计算框架,而是一个框架管理器,用户可以将各种各样的计算框架移植到YARN之上。
- 框架升级更容易
- 在YARN中,各种计算框架不再是作为一个服务部署到集群的各个节点上(比如MapReduce框架,不再需要部署JobTracler、TaskTracker等服务),而是被封装成一个用户程序(lib)存放在客户端,当需要对计算框架进行升级时,只需升级用户程序库即可。
YARN资源管理
- 资源调度和资源隔离是YARN作为一个资源管理系统,最重要和最基础的两个功能。资源调度由ResourceManager完成,而资源隔离由各个NodeManager实现。
- ResourceManager将某个NodeManager上资源分配给任务(这就是所谓的“资源调度”)后,NodeManager需按照要求为任务提供相应的资源,甚至保证这些资源应具有独占性,为任务运行提供基础的保证,这就是所谓的资源隔离。
- 当谈及到资源时,我们通常指内存、CPU、IO三种资源。Hadoop YARN同时支持内存和CPU两种资源的调度
- 内存资源的多少会决定任务的生死,如果内存不够,任务可能会运行失败;相比之下,CPU资源则不同,他只会决定任务运行的快慢,不会对生死产生影响。
Hadoop发行版本
- Apache Hadoop
- Cloudera —CDH
- Hortonworks —HDP
- MapR
- EMC、IBM
- Intel、华为
- 其他
文章来源: blog.csdn.net,作者:橙子园,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/Chenftli/article/details/104433382
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)