我在YARN中使用容量調度程序,我發現用戶可以通過使用屬性'yarn minimum-user-limit-percent'來獲得隊列的最小百分比。我將此屬性設置爲20,和我期望的是,資源將得到均勻分佈的多達5個用戶,根據此:YARN minimum-user-limit-percent not working?
但是,這不是當用戶啓動運行過程中出現的應用程序的情況。例如,如果我在隊列空閒時運行應用程序,YARN會爲該應用程序分配所有請求的資源。當另一個用戶之後運行相同的應用程序時,YARN將分配儘可能多的資源,因爲隊列中剩下的資源將被填滿。在這一點上,我認爲對於這個屬性,第二個用戶將獲得隊列的50%,而第一個用戶將擁有更少的資源。
如果第三位用戶進來,我希望他/她得到33%的隊列,但YARN甚至沒有安排應用程序,因爲沒有可用的資源。
我錯過了什麼嗎?我認爲這個參數提出了獨立於可用資源的請求,直到它達到每個用戶的最低百分比。
這裏是我的紗線的site.xml和能力scheduler.xml:
紗的site.xml
<configuration> <property> <name>yarn.acl.enable</name> <value>true</value> </property> <property> <name>yarn.admin.acl</name> <value>*</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>hadoopLogin:8032</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>hadoopLogin:8033</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>hadoopLogin:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>hadoopLogin:8031</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>hadoopLogin:8088</value> </property> <property> <name>yarn.resourcemanager.webapp.https.address</name> <value>hadoopLogin:8090</value> </property> <property> <name>yarn.resourcemanager.client.thread-count</name> <value>50</value> </property> <property> <name>yarn.resourcemanager.scheduler.client.thread-count</name> <value>50</value> </property> <property> <name>yarn.resourcemanager.admin.client.thread-count</name> <value>1</value> </property> <property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>1024</value> </property> <property> <name>yarn.scheduler.increment-allocation-mb</name> <value>512</value> </property> <property> <name>yarn.scheduler.maximum-allocation-mb</name> <value>14336</value> </property> <property> <name>yarn.scheduler.minimum-allocation-vcores</name> <value>1</value> </property> <property> <name>yarn.scheduler.increment-allocation-vcores</name> <value>1</value> </property> <property> <name>yarn.scheduler.maximum-allocation-vcores</name> <value>32</value> </property> <property> <name>yarn.resourcemanager.amliveliness-monitor.interval-ms</name> <value>1000</value> </property> <property> <name>yarn.am.liveness-monitor.expiry-interval-ms</name> <value>600000</value> </property> <property> <name>yarn.resourcemanager.am.max-attempts</name> <value>2</value> </property> <property> <name>yarn.resourcemanager.container.liveness-monitor.interval-ms</name> <value>600000</value> </property> <property> <name>yarn.resourcemanager.nm.liveness-monitor.interval-ms</name> <value>1000</value> </property> <property> <name>yarn.nm.liveness-monitor.expiry-interval-ms</name> <value>600000</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.client.thread-count</name> <value>50</value> </property> <property> <name>yarn.resourcemanager.scheduler.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
yarn.scheduler.fair.user-AS-默認隊列 true yarn.scheduler.fair.preemption false yarn.scheduler.fair.sizebasedweight 假 yarn.scheduler.fair.assignmultiple 假 yarn.resourcemanager.max完成的應用程序 yarn.nodemanager.aux服務 spark_shuffle yarn.nodemanager.aux-services.spark_shuffle.class org.apache.spark.network.yarn.YarnShuffleService
能力scheduler.xml
yarn.scheduler.capacity.root.queues 批次,筆記本 控制檯和批處理作業(批)和筆記本電腦的工作(筆記本)的定義排隊
yarn.scheduler.capacity.root.batch.capacity 容量的百分比爲root.batch隊列
yarn.scheduler.capacity.root.notebook。容量的容量百分比爲root.notebook隊列
yarn.scheduler.capacity.root.batch.maximum容量的最大容量的百分比爲root.batch隊列
紗.scheduler.capacity.root.notebook.maximum容量的最大容量的百分比爲root.notebook隊列
yarn.scheduler.capacity.root.batch.state RUNNING 電流root.batch線索
yarn.scheduler.capacity.root.notebook.state RUNNING 電流的根的狀態的狀態。筆記本線索
yarn.scheduler.capacity.root.acl_submit_applications 的Hadoop,紗,mapred,HDFS,火花 誰可以將作業提交到根隊列的ACL。
yarn.scheduler.capacity.root.batch.acl_submit_applications scienceUser1根,蓋亞,UB,UCM,UAC,UDC,ESAC,UPO,UNE,國家天體物理研究所 誰可以將作業提交到根目錄的訪問控制列表。批處理隊列。
yarn.scheduler.capacity.root.notebook.acl_submit_applications *根,蓋亞,UB,UCM,UAC,UDC,ESAC,UPO,UNE,國家天體物理研究所 誰可以將作業提交到根目錄的訪問控制列表。筆記本隊列。
yarn.scheduler.capacity.root.batch.acl_administer_queue 蓋亞 的誰可以管理工作的root.batch隊列的ACL。
yarn.scheduler.capacity.root.notebook.acl_administer_queue 蓋亞 的誰可以管理工作的root.notebook隊列的ACL。
yarn.scheduler.capacity.root.acl_administer_queue 蓋亞 的誰可以管理上的根隊列中的作業的ACL。
yarn.scheduler.capacity.root.acl_administer_queue 蓋亞 的誰可以管理上的根隊列中的作業的ACL。
yarn.scheduler.capacity.root.acl_administer_queue 蓋亞 的誰可以管理上的根隊列中的作業的ACL。
yarn.scheduler.capacity.root.batch.acl_administer_queue 蓋亞 的誰可以管理在批處理隊列中的作業的ACL。
yarn.scheduler.capacity.root.notebook.acl_administer_queue 蓋亞 的誰可以管理對筆記本隊列中的作業的ACL。
yarn.scheduler.capacity.resource計算器 org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
yarn.scheduler.capacity.root.notebook.minimum用戶限制-percent 用戶從隊列中獲取的資源的最小百分比。
請支持紗構造詳情。 yarn-site.xml和capacity-schedule.xml – shawn