基于雙模感知的YARN集群節(jié)點資源動態(tài)調(diào)整方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及數(shù)據(jù)處理技術(shù),尤其涉及基于雙模感知的YARN集群節(jié)點資源動態(tài)調(diào)整方法。
背景技術(shù)
[0002] 隨著大數(shù)據(jù)和分布式計算技術(shù)的快速發(fā)展,YARN作為一種主流的資源管理和調(diào)度平臺被廣泛應(yīng)用于企業(yè)級大數(shù)據(jù)處理系統(tǒng)中。YARN集群通過統(tǒng)一的資源管理和任務(wù)調(diào)度機制,實現(xiàn)了計算資源的集中管理和靈活分配,為各類分布式應(yīng)用提供了可靠的運行環(huán)境。在傳統(tǒng)的YARN集群資源管理中,節(jié)點的資源配置通常采用靜態(tài)分配方式,系統(tǒng)管理員需要預(yù)先為每個節(jié)點設(shè)定固定的資源上限,包括CPU、內(nèi)存和網(wǎng)絡(luò)帶寬等資源配額。
[0003] 然而,現(xiàn)有的YARN集群資源管理方案存在以下主要問題:
[0004] 首先,傳統(tǒng)的靜態(tài)資源分配方式無法有效適應(yīng)應(yīng)用程序動態(tài)變化的資源需求,當(dāng)工作負(fù)載發(fā)生波動時,可能導(dǎo)致資源分配不合理,造成某些節(jié)點資源過度浪費而其他節(jié)點資源緊張的情況。由于缺乏對節(jié)點實時資源使用狀況的精確感知和預(yù)測能力,難以實現(xiàn)資源的按需分配和動態(tài)調(diào)整。
[0005] 其次,現(xiàn)有的資源管理方案往往只關(guān)注單一維度的資源指標(biāo),如僅考慮CPU利用率或內(nèi)存使用率,忽視了各類資源之間的相互影響和關(guān)聯(lián)性。這種單一的資源監(jiān)控方式無法全面反映節(jié)點的真實負(fù)載狀態(tài),容易造成資源分配決策的偏差,影響集群的整體性能和資源利用效率。
[0006] 最后,當(dāng)前的資源分配策略缺乏智能化的優(yōu)化機制,在處理復(fù)雜的多維度資源分配問題時,難以找到最優(yōu)的資源分配方案。特別是在高并發(fā)場景下,簡單的資源分配算法無法有效平衡多個應(yīng)用程序之間的資源競爭,容易導(dǎo)致任務(wù)執(zhí)行效率低下和系統(tǒng)性能下降。
這些問題嚴(yán)重制約了YARN集群在大規(guī)模生產(chǎn)環(huán)境中的應(yīng)用效果。
發(fā)明內(nèi)容
[0007] 本發(fā)明實施例提供基于雙模感知的YARN集群節(jié)點資源動態(tài)調(diào)整方法,能夠解決現(xiàn)有技術(shù)中的問題。
[0008] 本發(fā)明實施例的第一方面,
[0009] 提供基于雙模感知的YARN集群節(jié)點資源動態(tài)調(diào)整方法,包括:
[0010] 采集YARN集群節(jié)點的系統(tǒng)指標(biāo)數(shù)據(jù)和應(yīng)用程序指標(biāo)數(shù)據(jù),所述系統(tǒng)指標(biāo)數(shù)據(jù)包括節(jié)點CPU利用率、內(nèi)存使用率、網(wǎng)絡(luò)帶寬占用率和磁盤I/O負(fù)載,所述應(yīng)用程序指標(biāo)數(shù)據(jù)包括應(yīng)用程序的執(zhí)行時長、資源申請量、任務(wù)完成率和數(shù)據(jù)處理吞吐量;基于所述系統(tǒng)指標(biāo)數(shù)據(jù)構(gòu)建第一深度神經(jīng)網(wǎng)絡(luò)模型,基于所述應(yīng)用程序指標(biāo)數(shù)據(jù)構(gòu)建第二深度神經(jīng)網(wǎng)絡(luò)模型;將所述第一深度神經(jīng)網(wǎng)絡(luò)模型和所述第二深度神經(jīng)網(wǎng)絡(luò)模型的輸出結(jié)果進行融合,得到節(jié)點資源利用狀態(tài)評估結(jié)果;
[0011] 根據(jù)所述節(jié)點資源利用狀態(tài)評估結(jié)果,對YARN集群中的每個節(jié)點計算資源動態(tài)調(diào)整系數(shù),所述資源動態(tài)調(diào)整系數(shù)包括CPU調(diào)整系數(shù)、內(nèi)存調(diào)整系數(shù)和網(wǎng)絡(luò)帶寬調(diào)整系數(shù);基于所述資源動態(tài)調(diào)整系數(shù),采用滑動時間窗口機制,對各節(jié)點的可分配資源上限值進行實時更新;當(dāng)節(jié)點資源利用率超過預(yù)設(shè)利用率閾值時,觸發(fā)資源擴容操作,通過彈性伸縮算法增加節(jié)點資源配額;當(dāng)節(jié)點資源利用率低于預(yù)設(shè)利用率閾值時,觸發(fā)資源回收操作,通過資源回收算法釋放空閑資源;
[0012] 接收應(yīng)用程序提交的資源申請請求,所述資源申請請求包括所需的CPU核數(shù)、內(nèi)存容量和網(wǎng)絡(luò)帶寬需求;根據(jù)各節(jié)點的實時資源狀態(tài)和所述資源申請請求,構(gòu)建多維度資源分配優(yōu)化模型;利用遺傳算法求解所述多維度資源分配優(yōu)化模型,得到最優(yōu)資源分配方案;
根據(jù)所述最優(yōu)資源分配方案,將應(yīng)用程序的任務(wù)分配到對應(yīng)的節(jié)點上執(zhí)行,并對任務(wù)執(zhí)行過程中的資源使用情況進行實時監(jiān)控,當(dāng)檢測到資源競爭時,觸發(fā)任務(wù)重分配機制。
[0013] 基于所述系統(tǒng)指標(biāo)數(shù)據(jù)構(gòu)建第一深度神經(jīng)網(wǎng)絡(luò)模型,基于所述應(yīng)用程序指標(biāo)數(shù)據(jù)構(gòu)建第二深度神經(jīng)網(wǎng)絡(luò)模型;將所述第一深度神經(jīng)網(wǎng)絡(luò)模型和所述第二深度神經(jīng)網(wǎng)絡(luò)模型的輸出結(jié)果進行融合,得到節(jié)點資源利用狀態(tài)評估結(jié)果包括:
[0014] 對所述系統(tǒng)指標(biāo)數(shù)據(jù)進行歸一化處理得到歸一化系統(tǒng)指標(biāo)數(shù)據(jù);將所述歸一化系統(tǒng)指標(biāo)數(shù)據(jù)輸入第一深度神經(jīng)網(wǎng)絡(luò),所述第一深度神經(jīng)網(wǎng)絡(luò)包括輸入層、三個隱藏層和輸出層,所述輸入層包括四個神經(jīng)元,所述三個隱藏層的神經(jīng)元數(shù)量分別為十六個、八個和四個,所述輸出層包括一個神經(jīng)元,所述第一深度神經(jīng)網(wǎng)絡(luò)的輸出為系統(tǒng)資源負(fù)載評分;
[0015] 對所述應(yīng)用程序指標(biāo)數(shù)據(jù)進行特征工程處理,將所述特征工程處理后的應(yīng)用程序指標(biāo)數(shù)據(jù)輸入第二深度神經(jīng)網(wǎng)絡(luò),所述第二深度神經(jīng)網(wǎng)絡(luò)包括輸入層、四個隱藏層和輸出層,所述輸入層包括六個神經(jīng)元,所述四個隱藏層的神經(jīng)元數(shù)量分別為二十四個、十六個、八個和四個,每個所述隱藏層之后設(shè)置批量歸一化層,所述輸出層包括一個神經(jīng)元,所述第二深度神經(jīng)網(wǎng)絡(luò)的輸出為應(yīng)用程序性能評分;