Fair Scheduler總結
默認公平調度調度策略僅僅基于內存資源,通過使用DRF(Dominant Resource Fairness)能夠配置基于內存和CPU資源任務調度。
當只有一個應用運行的時候,該應用能夠使用整個集群。當其他應用提交到集群,空閑出來的資源將分配給新提交的應用,這樣每個應用能夠得到大致相同的資源。Hadoop默認調度器,形成一個應用的隊列,如此小應用可以在一個合理時間范圍內完成,并且不會讓大應用長時間等待資源。這也是一個合理方式在許多用戶中分享集群資源。最后,公平調度可以設置應用的優先度,設置優先度權重決定應用占用資源比例。
可插入策略的分層隊列
公平調度支持分層隊列,所有的隊列從root隊列延伸。典型的公平調度方式是把可用資源分布在可用的root隊列的子隊列當中。應用程序只能在葉子隊列中被調度。一個隊列可以被指定為其他隊列的子隊列。指定一個有層級的隊列需要同時指定上級隊列。例如 root.queue1 root.queue1.queue2。
公平調度可以配置自定義的調度策略,比如FifiPolicy,FairSharePolicy,DominantResourceFairnessPolicy
使用公平調度需要在yarn-site.xml中配置如下內容
<property> <name>yarn.resourcemanager.scheduler.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value> </property>
配置公平調度主要包含兩個文件,首先是yarn-site.xml,在Hadoop配置目錄下,其次需要創建一個配置文件fair-scheduler.xml,主要配置隊列的權重和資源容量等。
<?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>
隊列訪問控制列表
ACLs對隊列進行控制,管理哪些用戶可以訪問特定隊列。主要包括了aclSubmitApps 和aclAdministerApps配置項,每個隊列都可以配置這兩個 參數。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。