目录
一:Yarn的定义和作用
Yarn是一个分布式资源调度器组件。这个组件的主要作用是在每次接收到请求后,会查看当下的各个子节点的状况,
统筹出运算资源的调度方案来保证任务可以顺利执行。通常来说,Yarn所调度的资源常常包括磁盘空间的资源,
内存的资源和通讯带宽的资源等。Yarn是Hadoop V2.0开始引入的一个组件,
这个组件可以说是针对Hadoop1.0系统所爆露出的计算资源使用不合理等设计上的问题进行的修正和补充。
二:Yarn体系结构
三:Yarn工作流程
- 用户编写客户端命令,向yarn提交应用程序,提交的内容包括ApplicationMaster程序,启动ApplicationMaster的命令,用户程序等。
- Yarn中的ResourceManager负责接收和处理来自客户端的请求,为应用程序分配一个容器,在该容器中启动一个ApplicationMaster
- ApplicationMaster被创建后会首先向ResourceManager注册
- ApplicationMaster采用轮询的方式向ResourceManager申请资源
- ResourceManager以容器的形式向提出申请的Application分配资源
- 在容器中启动任务
- 各个任务向applicationMaster汇报自己的状态和进度。
- 应用程序运行完成后,ApplicationMaster向ResourceManager的应用程序管理器注销并关闭自己。
四:Yarn的发展目标
- 一个集群多个框架
- 提供统一的资源调度管理服务,实现集群资源共享和资源弹性收缩。
- 有效提供集群利用率
五:Yarn和zookeeper相似点
都是分布式的
都具备监听和控制子节点运行的能力
六:Yarn和ZooKeeper的区别
Yarn的核心功能在于资源调度与管理,而ZooKeeper的核心功能在于分布式系统中的一致性服务。
Zookeeper和Yarn是一起工作的,它们一起管理资源。
参考:
https://blog.csdn.net/jiayunfei521/article/details/103520158