zoukankan      html  css  js  c++  java
  • 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里面的人!

  • 相关阅读:
    [转]QTP 怎样连接mysql数据库操作
    [转]使用Eclipse来开发Android源码
    组合排序
    插入排序
    冒泡排序
    选择排序
    计数排序
    希尔排序
    合并排序
    鸡尾酒排序
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/8641819.html
Copyright © 2011-2022 走看看