YARN

来源:互联网 发布:孙骁骁家庭知乎 编辑:程序博客网 时间:2024/06/06 05:41

Apache YARN(Yet Another Resource Negotiator)是Hadoop的集群资源管理系统,YARN提供请求和使用集群资源的API。
这里写图片描述
1、YARN运行机制
YARN通过两类长期运行的守护进程提供自己的核心服务:管理集群上资源使用的资源管理器(resource manager)、运行在集群中所有节点上且能够启动和监控容器的节点管理器(node manager)。容器用于执行特定的应用程序的进程,每个容器都有资源限制。
这里写图片描述
为了在YARN上运行一个应用,首先客户端联系资源管理器,要求运行一个application master进程。然后资源管理器找到一个能在容器中启动application master的节点管理器。之后则依赖具体的应用。
1.1资源请求
YARN有一个灵活的资源请求模型。当请求多个容器时,可以指定每个容器需要的计算机资源,还可以指定对容器的本地限制要求。
1.1应用生命周期
一个用户作业对应一个应用:如MapReduce
作业的每个工作流或每个用户对话对应一个应用:效率更高,容器间可复用,如Spark
多个用户共享一个长期运行的应用
2、YARN中的调度
YARN中有三种调度器:FIFO调度器、容量调度器、公平调度器
FIFO调度器:简单易懂,不需要配置,但不适合共享集群
容量调度器:允许多个组织共享一个Hadoop集群,每个组织可以分配到全部集群资源的一部分。每个组织被配置一个专门的队列,每个队列被配置为可以使用一定的集群资源。队列可以进一步按层次划分,这样每个组织内的不同用户能够共享该组织队列所分配的资源,在一个队列中,使用FIFO调度策略。
可以通过修改配置文件配置容量、共平调度器
延迟调度:在一个应用请求某个节点,此时如果有其他容器正在该节点上运行,那么处理的方法是立刻放宽本地性需求,在同一个机架中分配一个容器。然而如果等待一小段时间,能够增加在所请求节点上分配一个容器的机会,从而提高集群的效率,容器和公平调度都支持延迟调度。

原创粉丝点击