• YARN的Fair Scheduler和Capacity Scheduler


    关于Scheduler

      YARN有四种调度机制:Fair Schedule,Capacity Schedule,FIFO以及Priority;
      其中Fair Scheduler是资源池机制,进入到里面的应用是共享pool里面的资源;只有当资源配比发生紧张的时候,才会根据权重来进行调整;
      Capacity则是基于队列的,每个队列都会被分配资源比例,这种资源比例是固定;所以没有资源共享的概念
      MapR,cloudera都是默认采用Fair Scheduler,Ambari(Hortonwork)默认使用Capacity Scheduler;
      Fair Scheduler是一个池子的概念,就是来了一个应用就扔到这个池子里面,大家共享这个池子里面的资源;Fair Scheduler提供了一种Weigth的概念,就是比重,最后鬼根据比重来为各个池子分配资源(本质和Capacity里面的capacity一样);同时她还提供了max resource,min resource的可选配置,就是制定资源下限和上限;这个属性的配置是可以覆盖weigth(权重)的。但是并不推荐使用max min资源配置,因为不够灵活;
      Capacity Scheduler是一个队列概念,来了一个应用,如果发现资源不够了,则根据FIFO规则排队;什么时候资源够了,再用。
      Fair Scheduler可以配置自动创建pool,但是Capacity则无法创建队列;其实本质差别就是在于一个是pool共享资源的概念(YARN-3319),一个是queue队列形式利用资源。或者这么解释,对于Faire而言,可以使用资源池中未被使用的资源,但是Capacity则不允许;所以前者比较灵活,后者相对古板。但是通过看到Capacity有计划也实现一版fairness appliction;如果真是这样,那么两者区别就变得很小了。

    参考文章
      https://people.csail.mit.edu/matei/talks/2009/hadoop_summit_fair_scheduler.pdf
      https://www.quora.com/On-what-basis-do-I-decide-between-Fair-and-Capacity-Scheduler-in-YARN
      https://www.quora.com/Apache-Hadoop-Whats-the-difference-between-Fair-Scheduler-and-Capacity-Scheduler

    备注

      我发现https://www.quora.com/是一个很牛逼的网站,在浏览关于YARN调度器差别的时候,发现回帖的都是apache里面的人!

  • 相关阅读:
    ArcGIS案例学习笔记4_2
    ArcGIS案例学习笔记4_1
    ArcGIS案例学习笔记3_2
    ArcGIS案例学习笔记1_1
    ArcGIS案例学习1_2
    ArcGIS案例学习笔记2_1
    Window环境下配置Redis服务的方法及查看缓存数据的工具介绍
    C# 递归程序 获取某个节点下的全部子节点
    SQL查询中的in与join效率比较
    解决路由问题造成客户端无法访问服务器的方法之瞒天过海
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/8641819.html
Copyright © 2020-2023  润新知