Yarn调度器——平衡调度
什么是Yarn调度器?
Yarn(Yet Another Resource Negotiator)调度器是Hadoop 2.x的资源管理器和任务调度器。它允许应用程序竞争集群资源并对它们进行管理。Yarn调度器是一个中心的、可扩展的、异步的、高效率的调度器。它可以负责调度不同容器中的不同的应用程序,应用程序可以是MapReduce、Apache Tez、Apache Storm、Apache Spark等等各种应用程序。调度器的工作方式
当客户端在Yarn上提交作业时,Yarn首先为应用程序申请一个由多个资源组成的容器,分配资源给不同的应用程序。Yarn调度器按照容器的大小决定容器可以承载多少应用程序资源,然后在容器的各种资源之间进行负载均衡。什么是平衡调度?
Yarn调度器中,有几种不同的调度器,比如最大资源应用程序优先调度器(Capacity Scheduler)、加权容量调度器(Fair Scheduler)和绝对容量调度器(Absolute Capacity Scheduler)。其中,加权容量调度器是被广泛运用的调度器。 加权容量调度器使用了平衡调度的策略,通过配置多个池来调度不同组应用程序,保证各个池之间的分配是平均的。这个调度算法最适用于多租户环境,在这样的环境中,各个应用程序必须相互独立,以避免它们之间的互相干扰。在这样的环境中,分配资源的最好方法是在不同的任务客户端之间分配均衡的资源,而不是在整个中央资源管理器中优化资源分配。 在加权容量调度器中,所有池都是同等重要的。每个池都有一个特定的总资源配置。在分配容器时,调度器会决定哪个池首先获得容器,以及其余可用容器的数量。总而言之,在加权容量调度器中,平衡调度意味着确保每个池获得相同数量的容器,其资源分配合理,并且各个池之间分配是平滑的。总结
Yarn调度器是Hadoop中最重要的组件之一。加权容量调度器,作为Yarn调度器的一种,是在多租户环境下最合适的调度器。平衡调度是加权容量调度器中的一种策略,其保证了各个池之间的均衡、公正和公平。在实际应用中,加权容量调度器通常与MapReduce或Spark等分布式计算框架一起使用,这些框架需要高效且公正地分配资源,以获得高性能和高吞吐量的处理能力。版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至3237157959@qq.com 举报,一经查实,本站将立刻删除。