HAWQ資源管理

2021-08-20 19:15:17 字數 1242 閱讀 6130

在hadoop集群中,資源通常通過yarn進行管理。yarn為mapreduce作業與其他應用程式分配資源。資源被分配在稱為容器的單元中。在hawq環境中,segment和node manager控制資源的利用,並執行資源限制。

當hadoop集群中執行hawq時,在yarn中hawq作為應用程式註冊。hawq的資源管理器與yarn通訊以獲取資源或者釋放資源。

資源佇列是管理hawq系統中管理併發度的主要工具。資源佇列是乙個資料庫物件使用 create resource queue sql語句建立。您可以管理同時執行的查詢的數量,以及每種型別查詢的最大記憶體量和cpu使用率。資源佇列還可以防止占用太多資源從而降低整個系統效能。

在內部,hawq基於分層資源佇列系統動態地管理其資源。hawq使用資源佇列來有效地分配資源執行查詢。

haq資源佇列

當hawq被初始化時,有乙個根佇列pgbroot和乙個名稱pg_default的佇列。如果配置 yarn,hawq的資源管理器將擁有根佇列的容量。建立新資源佇列時,必須指定父佇列。從而資源佇列組織成樹。

執行查詢時經過查詢分析和語義分析之後,優化器與hawq資源管理器協調查詢的資源使用,並產生查詢可用資源的最優計畫。查詢資源資訊與查詢計畫一起傳送到segment。這樣查詢執行器(qe)可以根據資源配額控制資源使用情況。當查詢完成或取取消。資源返還給hawq資源管理器。

關於分支佇列和葉佇列

在該圖中分層資源佇列樹中,有分支佇列(虛線矩形)和葉佇列(用實線矩形)。只有葉佇列可以與角色關聯執行查詢。

資源分配策略

分配資源時,hawq遵循以下幾個原則:

資源只分配給執行狀態或查詢狀態的佇列

當佇列資源忙時,資源管理器根據佇列容量平衡佇列之間的資源。

在同一資源佇列中,當多個查詢等待時,最大化均勻分布查詢。

資源限制

集群記憶體與cpu比率

hawq資源管理器使用記憶體與cpu的比來資源分配,資源管理器選擇盡可能小的比率,以儘量減少資源浪費。

haq自動調整segment資源匹配該比率。例如,如果1gb記憶體,1core 作為比率,那麼5gb記憶體和8core的segment將有3個core浪費。如果segement有12gb和10個核心,那麼2gb的記憶體將不會被使用

在重新啟動hawq主節點之前,該比率能改變。因此,基於該比率對於動態新增到集群的segement的記憶體和core資源進行調整。

hawq主資料庫日誌會顯示該比率訊息:

資源管理器選擇每個核心的1024 mb作為集群的資源率,有3072 mb記憶體0核心資源無法利用。

MTK資源管理

資源檔案生成的臨時檔案主要有 custmenutree out.c,這個檔案是選單臨時檔案,生成了我們的最終顯示的選單結構。如果你新增的選單沒有顯示,正常顯示的選單突然不顯示了或者顯示錯位了,或者顯示的選單與呼叫的功能不符合了,都可以從這裡查到原因。resource base table.txt這個...

MTK資源管理

使用mtk作開發,常常不可避免和資源打交道,常使用的資源有字串,字型,選單,風格,聲音等,mtk好像沒有系統的專門的資源管理工具,導 致資源管理十分凌亂而容易出問題,雖然有些牛人也開發了一些工具來管理這些資源,但由於使用不便或者其他一些原因,比如資源由大量的巨集控制,以及修改維護 的人多,還有一些其...

linux 資源管理

一 系統資源 網路資源 儲存資源,計算資源 二 系統資源管理名命令 1.檢視目錄下的檔案使用情況 du sh 目錄 檔案 注 du sh檢視的是目錄 檔案占用block塊的大小 ll h檢視檔案 目錄的本身大小 2.檢視檔案系統 格式化好的分割槽 的使用情況 df h 注 檢視檔案系統使用i節點的情...