Yarn 配置容量排程器

2021-10-05 22:25:02 字數 2085 閱讀 6473

目錄

佇列比例

修改capacity-scheduler.xml配置檔案

將新的配置同步到集群所有節點,重啟yarn

提交任務

檢視任務

yarn-site.xml

root

├── prod   生產環境    40 %

└── dev   開發環境     60 %

├── mapreduce    mr開發    50%

└── spark          spark開發  50%

yarn.scheduler.capacity.root.queues

prod,dev

yarn.scheduler.capacity.root.dev.queues

mapreduce,spark

yarn.scheduler.capacity.root.prod.capacity

40 yarn.scheduler.capacity.root.dev.capacity

60 yarn.scheduler.capacity.root.dev.maximum-capacity

75 yarn.scheduler.capacity.root.dev.mapreduce.capacity

50 yarn.scheduler.capacity.root.dev.spark.capacity

50

我們可以看到,dev佇列又被分成了mapreduce和spark兩個相同容量的子佇列。dev的maximum-capacity屬性被設定成了75%,所以即使prod佇列完全空閒dev也不會占用全部集群資源,也就是說,prod佇列仍有25%的可用資源用來應急。我們注意到,mapreduce和spark兩個佇列沒有設定maximum-capacity屬性,也就是說mapreduce或spark佇列中的job可能會用到整個dev佇列的所有資源(最多為集群的75%)。而類似的,prod由於沒有設定maximum-capacity屬性,它有可能會占用集群全部資源。

關於佇列的設定,這取決於我們具體的應用。比如,在mapreduce中,我們可以通過mapreduce.job.queuename屬性指定要用的佇列。如果佇列不存在,我們在提交任務時就會收到錯誤。如果我們沒有定義任何佇列,所有的應用將會放在乙個default佇列中。

注意:對於capacity排程器,我們的佇列名必須是佇列樹中的最後一部分,如果我們使用佇列樹則不會被識別。比如,在上面配置中,我們使用prod和mapreduce作為佇列名是可以的,但是如果我們用root.dev.mapreduce或者dev. mapreduce是無效的。

同步:

scp capacity-scheduler.xml  node02:$pwd

scp capacity-scheduler.xml node03:$pwd

重啟yarn:

stop-yarn.sh

start-yarn.sh

通過以下命令指定任務提交到的對列:mapreduce.job.queuename=對列名   

mapreduce.job.queuename=mapreduce

提交:

hadoop jar /export/servers/hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.14.0.jar pi -d mapreduce.job.queuename=mapreduce 10 10

yarn.scheduler.fair.allow-undeclared-pools

true

yarn.scheduler.fair.user-as-default-queue

true

YARN容量排程器多佇列配置及應用提交詳解

目錄 0 需求 1 配置多佇列的容量排程器 2 向hive佇列提交任務 yarn預設的容量排程器是一條單佇列的排程器,在實際使用中會出現單個任務阻塞整個佇列的情況。同時,隨著業務的增長,公司需要分業務限制集群使用率。這就需要我們按照業務種類配置多條任務佇列。預設yarn的配置下,容量排程器只有一條d...

Yarn容量排程器優化之並行處理問題

yarn預設排程器為capacity scheduler 容量排程器 且預設只有乙個佇列 default。如果佇列中執行第乙個任務資源不夠,就不會再執行第二個任務,一直等到第乙個任務執行完畢。1 啟動1個hive客戶端,執行以下插入資料的sql語句。hive default insert into ...

YARN的排程器

yarn主要就是為了排程資源,管理任務等。resourcemanager yarn上主節點,接收客戶端提交的任務,對資源進行分配 nodemanager yarn上從節點,主要進行任務計算 jobhistoryserver 檢視已經完成的任務歷史日誌記錄的服務 timelineserver hado...