主页 > 新闻资讯 > 大数据学习:Yarn核心原理

大数据学习:Yarn核心原理

作者:张老师 浏览次数: 2020-12-07 17:17
作为Hadoop生态的重要核心组件,Yarn的存在是至关重要的。Hadoop生态下的诸多框架组件,要实现在同一个生态下的集成运行,其中涉及到的任务协调与调度,通通由Yarn来搞定。今天的大数据学习分享,我们就来讲讲Yarn核心原理。

在Hadoop生态当中,有用来构建数据仓库的Hive,也有基于内存的计算框架Spark,还有NoSQL数据库HBase等。Hadoop作为大数据底层支撑平台,往往需要同时部署Hive、HBase和Spark等多种技术组件,这些组件,个个都是消耗资源的大户。

大数据学习:Yarn核心原理

由此Yarn出现,作为通用的资源调度框架,对整个集群的资源进行统筹管理。

Yarn工作流程

用户向YARN中提交应用程序。

ResourceManager为该应用程找到一个可用的NodeManager并分配第一个Container,然后在这个Container中启动应用程序的ApplicationMaster。

ApplicationMaster向ResourceManager进行注册,这样用户就可以通过ResourceManager查看应用程序的运行状态并对任务进行监控。

ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源。

ApplicationMaster申请到资源后与对应的NodeManager通信,要求它启动Container并为任务设置好运行环境。

应用程序的任务开始在启动的Container中运行,各个任务向ApplicationMaster汇报自己的状态和进度,以便ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。

应用在运行的过程中,客户端通过轮询的方式主动与ApplicationMaster通信以获得应用的运行状态、执行进度等信息。

应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己。

Yarn的角色和交互

1.Client向ResourceManager(RM)提交作业,RM为该作业启动AppMaster。在作业执行过程中,Client也可以通过RM结束作业。

2.AppMaster(ApplicationMaster)向ResourceManager申请作业需要的计算资源(一组容器),计算任务结束后向RM登记释放容器的资源。

3.NodeManager向ResourceManager汇报节点状态,领取待执行的任务。

Yarn使用场景

1.Spark任务调度

Spark是一款分布式内存计算框架,Spark可以将自身的任务调度部分委托YARN进行管理,从而实现集群资源高效整合与利用。

2.MapReduce任务调度

同样的,MapReduce任务的整个生命周期都可以借助YARN进行管理,包括任务的分配、资源的调度等等。

关于大数据学习,Yarn核心原理,以上就为大家做了基本的介绍了。在大数据技术生态当中,Yarn占据着重要的位置,在大数据系统任务调度上,也是市场上的主流选择。成都加米谷大数据,专业大数据培训机构,大数据开发、数据分析与挖掘,本月正在招生中,课程大纲及试学视频,可联系客服获取!
热点排行
推荐文章
立即申请>>