您好,登錄后才能下訂單哦!
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ù)。
免責(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)容。