開發與維運

MaxCompute管家詳解–管家助力,輕鬆玩轉MaxCompute

精彩視頻回顧請點擊:MaxCompute管家詳解
以下是直播內容精華整理,主要包括以下四個方面:
1.背景速覽;
2.功能介紹;
3.案例講解;
4.新功能預告。

 

一、背景速覽

MaxCompute(原ODPS)是一項大數據計算服務,它能提供快速、完全託管的PB級數據倉庫解決方案,使用戶可以經濟並高效的分析處理海量數據。在購買了MaxCompute之後會有相當多而繁瑣的管理和維護工作,比如如何對項目進行更精細化的管理、如何將項目與配額進行關聯等等,而MaxCompute管家可以幫助用戶更好地完成這些工作,它是一個為用戶提供作業信息查看、資源消耗查看(涵蓋CU資源和存儲資源)、項目查看及調整、配額組增刪改查等涉及日常MaxCompute運維能力的管理平臺。
目前,全球包括美國、英國、德國、印度、日本、新加坡在內的18個國家或地區(詳情見官網)購買了數加併購買MaxCompute”包年包月“的用戶(後期也會支持購買MaxCompute“按量付費“的用戶)可以使用MaxCompute管家功能,且已經支持英文界面。MaxCompute管家的入口有兩個:(1)管理控制檯(圖1)和(2)數加控制檯(圖2)。需要注意的是從管理控制檯和數加控制檯進入MaxCompute管家頁面時候需要先選擇正確的MaxCompute對應區域。

image.png

圖 1 MaxCompute管家入口1:管理控制檯

image.png

圖 2 MaxCompute管家入口1:管理控制檯

二、功能介紹

當前,管家主要針對MaxCompute中項目、配額以及作業三個核心模塊來提供相應的支持。
(一)項目
在項目列表頁面可查看當前用戶具備的預付費project的所有相關信息,包括項目名稱、所屬dataworks工作空間、賬號、配額組、已用存儲、project默認預付費quota組調整,如圖3所示。這裡需要注意項目名稱和所屬dataworks工作空間是兩個概念,不要混淆了。在項目列表頁面點擊項目名稱會跳轉到存儲使用趨勢的頁面來查看項目存儲使用的相關情況,並且支持按時段搜索,在存儲水位曲線中還可以查看具體到某一個時段的詳情(最近1小時、最近6小時、最近12小時、最近1天、最近1周,存儲量每1個小時採集一次);賬號是指項目所屬的一個訪問身份;點擊配額組可以查看相應的配額使用情況,在後面會重點進行介紹。除了以上操作之外,管家還提供了一個對項目配額組進行修改的操作,用戶可以對項目所屬的配額組進行修改,更加方便管理。在將項目遷移到新的配額組之後,如果原來的配額組沒有被刪除,那麼項目會沿用原來的配額組進行作業,如果已經被刪除,就會使用新的配額組進行作業,以此來達到資源的最大化利用。
image.png

圖 3 項目列表頁面

(二)配額
配額管理是MaxCompute的資源管理中的重點也是難點,面對不同的業務需求,用戶也有不同的配額管理方式。配額組有4個比較重要的配置參數,具體如下:
(1)預留CU最小配額:單個quota組分配資源的下限。
(2)預留CU最大配額:單個quota組分配資源的上限。
(3)非預留CU最大配額:單個quota組可使用彈性資源的上限。
(4)配額組標籤:標籤主要是用於指定作業的配額組,如果您的包年包月資源組設置多個二級Quota組,可以在提交作業的時候,指定作業運行的Quota組,可以與project所屬Quota組不同。這樣設置,能夠更加靈活的設置和使用您的計算資源。大家也可以根據具體情況靈活設置標籤。
在配額列表頁面,可查看當前用戶具備的預付費project的相關信息,包括配額組、CU最小配額、CU最大配額、彈性CU最大配額、配額組標籤、涵蓋項目個數、最近一次配額組操作狀態等,如圖4所示。

image.png

圖 4 配額列表頁面

點擊配額組中的某一配額組名稱,會跳轉到相應的頁面,裡面可以查看對應的資源使用情況,比如預留CU資源使用趨勢和非預留CU資源使用趨勢,如圖5所示,我們也可以查看不同時段的資源使用情況。除此之外,還可以查看該配額組所包含的項目列表,該處項目列表的詳情如上文中圖3所示的一樣,也可以進行相應的操作。

image.png

圖 5 配額組詳情

對配額組的操作主要有新建配額組、修改配額組和刪除配額組。
(1)新建配額組
在新建配額組的是時候修改預留CU最小配額、預留CU最大配額、非預留CU最大配額以及標籤,單擊執行,完成修改即可。這裡我們可以根據自己業務的需求來給配額組設置相應的名稱。
(2)修改配額組
修改配額組的時候可以修改預留CU最小配額、預留CU最大配額、非預留CU最大配額以及標籤,然後單擊執行,即可完成修改。需要注意的是非預留CU最大配額即為包年包月裡的非預留計算資源,此功能僅中國站用戶可以使用。另外,這裡需要需要注意的時候,配額組的名稱一旦建立就不能修改。
(3)刪除配額組
刪除功能相對比較簡單,就是在配額組不需要的時候刪除相應的配額組即可。但是需要注意,處於安全考慮,沒有涵蓋項目的配額組可刪除,刪除後的配額會歸還至默認配額組,而如果配額組的涵蓋項目數不為0,那麼是無法刪除的。
(三)作業
在作業模塊中,我們支持當前的作業快照,因此在默認狀態下,進入作業快照列表的時候,展示的是當前的狀態。在作業列表頁面,可以查看當前用戶指定配額組下所有作業情況,包括InstanceID、賬號、項目名稱、cpu使用佔比(%)、內存使用佔比(%)、提交時間、等待時長、運行時長、運行狀態,作業快照每2分鐘採集1次。如果需要了解更多的關於作業的運行情況,可以點擊InstanceID查看對應的LogView,它與作業是一對一的關係,具體的可以查看官網關於LogView的說明。一般在需要對資源使用進行詳細瞭解以優化資源配置的時候,我們可以查看某一個作業的資源使用情況,做到心中有數,也方便對資源配置進行優化。

image.png

圖 6 作業列表頁面

三、案例講解

在上文的基礎上,下面通過案例來進行具體分析如何更好的使用現有的功能來分配和管理資源,讓資源得到更有效的利用。首先,我們需要了解幾個關於配額的規則:
(1)預留CU最大配額配置規則:單個子組的最大CU要小於等於默認資源組的最大CU;
(2)預留CU最小配額配置規則:所有子組的最小CU之和要小於等於默認資源組的最小CU;
(3)非預留CU最大配額配置規則:所有子組的彈性最大CU之和要小於等於默認資源組的彈性最大CU;
(4)配額組標籤命名規則:配額組標籤只允許使用字母、數字、下劃線,不同配額組對應標籤不要重名,否則作業指定此重名標籤,將會隨機調度到其中一個配額組;配額組標籤調度規則:如果提交作業時設置的Quota Tag和某個配額組屬性中的標籤相等,這個作業就會被優先調度到這個配額組中,否則會被調度到所屬Project指定的配額組中,詳細信息請參見官網Quota Tag描述。
在瞭解清楚了以上幾個規則以後,如果進行資源的分配呢?我們以兩個具體的問題來了解一下。
(一)拿到資源如何配置?
首先我們要明白,配置策略跟業務是密不可分的,脫離了業務談配置是不切實際的。一般來說,在實際配置中我們有資源獨享和資源共享兩種資源配置策略。資源獨享更偏向於重點確保的業務,就是說那些一定要完成的和一定要保障到的業務,而資源共享就沒有那麼苛刻的要求了,大部分情況下我們都可以採用資源共享的形式來進行配置,這樣子就可以避免前置資源的浪費。
假設我們共有預留計算資源60CU,非預留計算資源30CU,由兩個部門使用,可以按照如下方式分配:
(1)資源獨享方式
image.png

這麼劃分意味著當A組哪怕沒有資源使用時,B組資源最多也只能用到20(由最大CU限制)+10(由彈性最大CU限制)的資源;反之亦然,當B組沒有資源使用的時候,A組最多也只能使用30+10CU的資源。這裡需要注意,默認的預付費Quota組預留最小CU和非預留最大CU最少也需要有1CU,也就是說默認的預付費Quota組是一個天然的共享型的資源池。所以在業務上只需要資源獨享配額時候,就不要把項目遷移到默認的預付費Quota組,而要去做自定義的資源獨享組。
(2)資源共享方式
image.png

這麼劃分意味著當A組和B組資源均緊張時,A組可以用到20+10的資源,B組可以用到30+10的資源。當A組沒有作業時,B組最多可以用到60+10的資源;反之當B組沒有資源時,A組可以用到60+10的資源。我們需要注意的是,當採用資源共享方式,如果B組沒有作業,A組分配了60(預留最大CU)+10(非預留最大CU)的資源時,之後B組突然有大量作業需要申請資源,這時候需要調度器通知A組釋放相應資源之後B組才能開始分配資源進行作業。
(二)作業慢或者資源不足怎麼辦?
在實際業務中,可能隨著業務量的增加、作業的複雜度增大,我們可能會遇到作業慢或者資源不足的情況。這裡我們給出了三個解決方案:
(1)優化作業代碼
我們可通過快照作業的資源使用情況得到top消耗的作業,並嘗試進行優化,可參考官網最佳實踐來做相應調整。
(2)更換調度策略
若單個配額組資源不足,但其他配額組有足夠空閒資源時,建議使用quota tag,可調度到閒置配額組內進行資源週轉,或者調整內部配額組之間的資源上下限,增加資源使用的靈活性,或者通過切換project對應的quota組的方式進行重組式管理,前提是取決於業務情況。
(3)擴容
若整體資源不足,且其他待跑任務無重保訴求,建議走非預留擴容;若整體資源不足,且有重保任務持續新增時,建議走預留型擴容並已獨享型模式配置或後付費採買。

四、新功能預告

本文所提到的功能只是MaxCompute管家所提供的功能中的一部分,主要是面向初級用戶,後續將會有更多的功能對外開放,也會分享更多的進階版、高級版的功能,來解決大家工作中的痛點。未來一段時間,MaxCompute管家會有一些新功能與大家見面,比如以下:
(1)資源概覽頁
資源概覽頁用來展示用戶對應的”包年包月“付費模式下的整體CU使用量、CU資源使用趨勢、存儲資源使用趨勢,方便用戶更快速、更便捷的瞭解當前的資源使用情況。
(2)歷史作業快照
歷史作業快照支持按時間搜索歷史作業快照,便於用戶對歷史作業的資源使用情況的追述。
(3)終止作業
支持作業owner小批量終止作業,同時支持終止作業歷史追述。
(4)分時配額
針對於部分用戶作業有時段性的要求,增加了分時配額,支持用戶對不同配額組進行分時段的動態配額調整,便於用戶對週期性任務調度的有效管理。

如果大家需要了解更多的關於MaxCompute管家的細節,可以通過官網 -> 大數據計算服務 · MaxCompute -> 文檔&SDK -> MaxCompute管家來查看相應的說明文檔,官方也會持續的進行迭代更新。

大家如果對MaxCompute有更多資訊或者建議,歡迎掃碼加入MaxCompute開發者社區釘釘群,或點擊鏈接申請加入。

image.png

Leave a Reply

Your email address will not be published. Required fields are marked *