溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

【總結(jié)】Fair Scheduler

發(fā)布時間:2020-07-26 20:43:21 來源:網(wǎng)絡(luò) 閱讀:2157 作者:巧克力黒 欄目:大數(shù)據(jù)


Fair Scheduler總結(jié)

默認(rèn)公平調(diào)度調(diào)度策略僅僅基于內(nèi)存資源,通過使用DRF(Dominant Resource Fairness)能夠配置基于內(nèi)存和CPU資源任務(wù)調(diào)度。

當(dāng)只有一個應(yīng)用運(yùn)行的時候,該應(yīng)用能夠使用整個集群。當(dāng)其他應(yīng)用提交到集群,空閑出來的資源將分配給新提交的應(yīng)用,這樣每個應(yīng)用能夠得到大致相同的資源。Hadoop默認(rèn)調(diào)度器,形成一個應(yīng)用的隊(duì)列,如此小應(yīng)用可以在一個合理時間范圍內(nèi)完成,并且不會讓大應(yīng)用長時間等待資源。這也是一個合理方式在許多用戶中分享集群資源。最后,公平調(diào)度可以設(shè)置應(yīng)用的優(yōu)先度,設(shè)置優(yōu)先度權(quán)重決定應(yīng)用占用資源比例。

可插入策略的分層隊(duì)列

公平調(diào)度支持分層隊(duì)列,所有的隊(duì)列從root隊(duì)列延伸。典型的公平調(diào)度方式是把可用資源分布在可用的root隊(duì)列的子隊(duì)列當(dāng)中。應(yīng)用程序只能在葉子隊(duì)列中被調(diào)度。一個隊(duì)列可以被指定為其他隊(duì)列的子隊(duì)列。指定一個有層級的隊(duì)列需要同時指定上級隊(duì)列。例如 root.queue1   root.queue1.queue2。

公平調(diào)度可以配置自定義的調(diào)度策略,比如FifiPolicy,FairSharePolicy,DominantResourceFairnessPolicy

使用公平調(diào)度需要在yarn-site.xml中配置如下內(nèi)容

<property>
  <name>yarn.resourcemanager.scheduler.class</name>
  <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
</property>


配置公平調(diào)度主要包含兩個文件,首先是yarn-site.xml,在Hadoop配置目錄下,其次需要創(chuàng)建一個配置文件fair-scheduler.xml,主要配置隊(duì)列的權(quán)重和資源容量等。

<?xml version="1.0"?>
<allocations>
  <queue name="sample_queue">
    <minResources>10000 mb,0vcores</minResources>
    <maxResources>90000 mb,0vcores</maxResources>
    <maxRunningApps>50</maxRunningApps>
    <maxAMShare>0.1</maxAMShare>
    <weight>2.0</weight>
    <schedulingPolicy>fair</schedulingPolicy>
    <queue name="sample_sub_queue">
      <aclSubmitApps>charlie</aclSubmitApps>
      <minResources>5000 mb,0vcores</minResources>
    </queue>
  </queue>

  <queueMaxAMShareDefault>0.5</queueMaxAMShareDefault>
  <queueMaxResourcesDefault>40000 mb,0vcores</queueMaxResourcesDefault>

  <!-- Queue 'secondary_group_queue' is a parent queue and may have
       user queues under it -->
  <queue name="secondary_group_queue" type="parent">
  <weight>3.0</weight>
  </queue>

  <user name="sample_user">
    <maxRunningApps>30</maxRunningApps>
  </user>
  <userMaxAppsDefault>5</userMaxAppsDefault>

  <queuePlacementPolicy>
    <rule name="specified" />
    <rule name="primaryGroup" create="false" />
    <rule name="nestedUserQueue">
        <rule name="secondaryGroupExistingQueue" create="false" />
    </rule>
    <rule name="default" queue="sample_queue"/>
  </queuePlacementPolicy>
</allocations>


隊(duì)列訪問控制列表

ACLs對隊(duì)列進(jìn)行控制,管理哪些用戶可以訪問特定隊(duì)列。主要包括了aclSubmitApps 和aclAdministerApps配置項(xiàng),每個隊(duì)列都可以配置這兩個 參數(shù)。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI