彈性資源池上可以添加多個不同隊列用于作業運行,具體添加彈性資源池添加隊列的操作可以參考彈性資源池添加隊列。添加完隊列后,可以根據不同隊列計算資源使用量的波峰和波谷和優先級來配置要擴縮容的CU數,從而來保障作業的穩定運行。
注意事項
- 在全天的任意一個時間段內,彈性資源池中所有隊列的最小CU數之和必須小于等于彈性資源池的最小CU數。
- 在全天的任意一個時間段內,彈性資源池中任意一個隊列的最大CU必須小于等于彈性資源池的最大CU。
- 同一隊列不同擴縮容策略的時間段區間不能有交集。
- 彈性資源池隊列中的擴縮容策略時間段僅支持整點的時間段設置,并且包含設置的開啟時間,不包含設置的結束時間,例如設置時間段00-09,則時間段范圍為:[00:00,09:00)。默認的擴縮容策略不支持時間段配置修改。
- 彈性資源池擴縮容策略生效規則為:在任意一個時間段周期內,優先滿足所有隊列的最小CU數,剩余的CU(彈性資源池最大CU-所有隊列的最小CU數之和)則根據配置的優先級順序分配,直到剩余的CU數分配完成。
- 隊列擴容成功后,系統開始對擴容的CU進行計費,直到縮容成功停止對擴容的CU計費。因此,要注意如果業務沒有需求的情況下,要及時清理釋放資源,否則不管CU是否真正的使用,都會一直計費。
彈性資源池擴縮容CU分配場景說明(無任務場景)
場景 彈性資源池CU數分配說明 彈性資源池當前最大CU為256CU,添加了兩個隊列,分別為隊列A和隊列B。兩個隊列設置的擴縮容策略如下: l? ? 隊列A擴縮容策略:優先級5,時間段:00:00-9:00,最小CU是32,最大CU是64
l? ? 隊列B擴縮容策略:優先級10,時間段:00:00-9:00,最小CU是64,最大CU是128
到了00:00-9:00時間段:
1.?? ? 彈性資源池優先滿足兩個隊列的最小CU,隊列A先分配32CU,隊列B分配64CU,剩余CU數為160CU:彈性資源池的最大CU-兩個隊列的最小CU之和=256-32-64=160CU。
2.?? ? 剩余CU數根據優先級高低來分配,因為隊列B的優先級高于隊列A,則優先將128CU分配給隊列B,剩余的32CU全部分配給隊列A。
彈性資源池當前最大CU為96CU,添加了兩個隊列,分別為隊列A和隊列B。兩個隊列設置的擴縮容策略如下:
l? ? 隊列A擴縮容策略:優先級5,時間段:00:00-9:00,最小CU是32,最大CU是64
l? ? 隊列B擴縮容策略:優先級10,時間段:00:00-9:00,最小CU是64,最大CU是128
到了00:00-9:00時間段:
1.?? ? 彈性資源池優先滿足兩個隊列的最小CU,隊列A先分配32CU,隊列B分配64CU,剩余CU數為0CU:彈性資源池的最大CU-兩個隊列的最小CU之和=96-32-64=0CU。
2.?? ? 因為剩余的CU數已經沒有,則停止分配。
彈性資源池當前最大CU為128CU,添加了兩個隊列,分別為隊列A和隊列B。兩個隊列設置的擴縮容策略如下:
l? ? 隊列A擴縮容策略:優先級5,時間段:00:00-9:00,最小CU是32,最大CU是64
l? ? 隊列B擴縮容策略:優先級10,時間段:00:00-9:00,最小CU是64,最大CU是128
到了00:00-9:00時間段:
1.?? ? 彈性資源池優先滿足兩個隊列的最小CU,隊列A先分配32CU,隊列B分配64CU,剩余CU數為32CU:彈性資源池的最大CU-兩個隊列的最小CU之和=128-32-64=32CU。
2.?? ? 按照優先級,則優先將剩余的32CU分配給B隊列后停止分配。
彈性資源池當前最大CU為128CU,添加了兩個隊列,分別為隊列A和隊列B。兩個隊列設置的擴縮容策略如下:
l? ? 隊列A擴縮容策略:優先級5,時間段:00:00-9:00,最小CU是32,最大CU是64
l? ? 隊列B擴縮容策略:優先級5,時間段:00:00-9:00,最小CU是64,最大CU是128
到了00:00-9:00時間段:
1.?? ? 彈性資源池優先滿足兩個隊列的最小CU,隊列A先分配32CU,隊列B分配64CU,剩余CU數為32CU:彈性資源池的最大CU-兩個隊列的最小CU之和=128-32-64=32CU。
2.?? ? 因為兩個隊列的優先級相同,則剩余32CU隨機分配給兩個隊列。
彈性資源池擴縮容CU分配場景說明(有任務場景)
場景 彈性資源池實際CUs 隊列A資源分配 隊列B資源分配 彈性資源池CU數分配說明 彈性資源池添加了兩個隊列,分別為隊列A和隊列B。兩個隊列設置的擴縮容策略如下:
l? ? 隊列A擴縮容策略:時間段:00:00-9:00,最小CU是32,最大CU是64
l? ? 隊列B擴縮容策略:00:00-9:00,最小CU是64,最大CU是128
192CUs
64CUs 128CUs
當彈性資源池實際cu大于等于兩個隊列最大
cu之和,隊列都分配最大值
96CUs
32CUs
64CUs
彈性資源池會優先滿足兩個隊列的最小CU,
兩個隊列分配了最小CU后,無可用資源進行分配
128CUs
32CUs-64CUs
64CUs-96CUs
彈性資源池會優先滿足兩個隊列的最小CU,即隊列A先分配32CUs,隊列B分配64CUs,有剩余32CUs可供分配。
剩余部分按照隊列的負載以及隊列優先級進行分配。隊列實際CU會在列出的范圍內變化。
彈性資源池隊列管理
1.在左側導航欄單擊“資源管理 > 彈性資源池”,可進入彈性資源池管理頁面。
2.選擇要操作的彈性資源池,在“操作”列,單擊“隊列管理”,進入彈性資源池隊列管理界面。
3.在隊列管理界面會顯示添加的所有隊列列表信息。具體參數說明如下:
彈性資源池隊列管理界面參數說明
| 參數名 | 參數描述 |
|---|---|
| 名稱 | 彈性資源池添加的隊列名稱。 |
| 類型 | 彈性資源池添加的隊列類型。 SQL隊列。 通用隊列。 |
| 時間段 | 彈性資源池隊列擴縮容策略的開始和結束時間范圍。時間區間包括開始時間,不包括結束時間即[開始時間,結束時間) |
| 最小CUs | 彈性資源池隊列擴縮容策略配置的最小CU數。 |
| 最大CUs | 彈性資源池隊列擴縮容策略配置的最大CU數。 |
| 優先級 | 彈性資源池隊列擴縮容策略的優先級。優先級范圍為1到100,數字越小,優先級越低。 |
| 執行引擎 | 添加的隊列類型為“SQL隊列”時執行引擎為spark。 添加的隊列類型為“通用隊列”時執行引擎可以是spark和flink,當前界面顯示為--。 |
| 創建時間 | 彈性資源池添加隊列的時間。 |
| 企業項目 | 隊列所屬的企業項目。 彈性資源池支持添加不同企業項目的隊列資源。 |
| 所有者 | 彈性資源池添加隊列的用戶名。 |
| 操作 | 編輯:重新修改或者添加彈性資源池隊列的擴縮容策略。 刪除:刪除當前彈性資源添加的隊列。 |
- 選擇要操作的隊列,在“操作”列,單擊“編輯”,進入到編輯隊列界面。
5.在編輯隊列界面,根據您當前操作場景,分別對應以下操作:
- 新增擴縮容策略 :單擊“新增”,添加新的擴縮容策略,分別對“優先級”、“時間段”、“最小CU”和“最大CU”參數設置,單擊“確定”完成操作。
- 修改擴縮容策略 :直接修改已有記錄的擴縮容策略參數,單擊“確定”完成操作。
- 刪除擴縮容策略 :在對應擴縮容策略所在行單擊“刪除”,單擊“確定”刪除已有的優先級設置。
說明“優先級”和“時間段”參數說明如下:
優先級:默認為1,設置范圍為1-100,參數值越大優先級越高。
時間段:
時間段設置僅支持整點,時間區間包括開始時間,不包括結束時間即[開始時間, 結束時間)。
例如當前選擇的時間段范圍為:01--17,則表示當前規則時間范圍為[01, 17)。
不同優先級的時間段區間不能有交集。
最大最小CU:
在全天的任意一個時間段內,彈性資源池中所有隊列的最小CU數之和必須小于等于彈性資源池的最小CU數。
在全天的任意一個時間段內,彈性資源池中任意一個隊列的最大CU必須小于等于彈性資源池的最大CU。
6.設置完成后,單擊“結果圖形化”,查看所有隊列的擴縮容策略設置情況。
7.后續到了隊列擴縮容策略配置的時間,會生成一個擴縮容任務。具體可以在“作業管理 > SQL作業”下查看作業類型為“SCALE_QUEUE”的作業。