美文网首页我爱编程
Hadoop集群资源管理系统YARN

Hadoop集群资源管理系统YARN

作者: Vechace | 来源:发表于2018-06-19 11:04 被阅读28次

    Hadoop生态分层

    YARN应用.png

    YARN应用运行机制

    YARN通过两类长期运行的守护进程提供自己的核心服务:管理集群上资源使用的资源管理器(resource manager)、运行在集群中所有节点上且能够启动和监控容器的节点管理器(node manager)。容器用于执行特定应用程序的进程,每个容器都有资源限制(CPU、内存等),一个容器可以是一个Unix进程,也可以是一个Linux cgroup,取决于YARN配置,YARN运行机制如下:

    YARN运行机制.png

    运行机制解析

    1.首先,客户端联系资源管理器,要求它运行一个application master进程。

    2.然后资源管理器找到一个能够在容器中启动application master的节点管理器。

    3.application master启动后行为依赖于应用本身,可能是在所处容器中进行运算,然后两结果返回给客户端;抑或是向资源管理器请求更多的容器。

    4.请求更多的容器,用于运行一个分布式计算。

    资源请求

    资源请求模型:当请求多个容器时,可以指定每个容器需要的计算机资源数量(内存和CPU),还可以指定对容器的本地限制要求。

    应用生命期

    YARN应用的生命期差异很大,一般按照应用到用户运行的作业之间的映射关系对应用进行分类,有如下分类模型:

    • 模型1:一个用户作业对应一个应用,这是MapReduce采取的方式。

    • 模型2:作业的每个工作流或者每个用户对话对应一个应用。Spark采用这种模型。

    • 模型3:多个用户共享一个长期运行的应用,通常作为一种协调者出现。

    YARN中的调度

    调度选项

    YARN中有三种调度器可用:FIFO调度器(FIFO Scheduler)、容量调度器(Capacity Scheduler)、公平调度器(Fair Scheduler)

    • FIFO调度器:优点是简单易懂,不需要任何配置,但不适合共享集群。多个作业运作时需要阻塞等待。

    • 容量调度器:以整个集群的利用率为代价,一个独立的专门队列保证小作业一提交就能启动。

    • 公平调度器:不需要预留一定量的资源,调度器会在所有运行的作业之间动态平衡资源。


    参考资料:
    《Hadoop权威指南》

    相关文章

      网友评论

        本文标题:Hadoop集群资源管理系统YARN

        本文链接:https://www.haomeiwen.com/subject/nhhaeftx.html