溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

CDH集群調(diào)優(yōu)的方法是什么

發(fā)布時間:2022-01-17 16:48:38 來源:億速云 閱讀:316 作者:iii 欄目:服務(wù)器

本文小編為大家詳細(xì)介紹“CDH集群調(diào)優(yōu)的方法是什么”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“CDH集群調(diào)優(yōu)的方法是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

DRF和相關(guān)參數(shù)

DRF: Dominant Resource Fairness,根據(jù)CPU和內(nèi)存公平調(diào)度資源。CDH動態(tài)資源池默認(rèn)采用的DRF計劃策略。簡單的理解就是內(nèi)存不夠的時候,多余的CPU就不會分配任務(wù)了,就讓他空著;CPU不夠的時候,多出來的內(nèi)存也不會再啟動任務(wù)了。

理解這個計劃策略后,再查看Yarn啟動任務(wù)時資源相關(guān)的參數(shù),發(fā)現(xiàn)有以下幾個參數(shù)可能會產(chǎn)生影響:

  • mapreduce.map.memory.mb ,map任務(wù)內(nèi)存,cdh默認(rèn)1G

  • mapreduce.map.cpu.vcores ,map任務(wù)虛擬CPU核數(shù),cdh默認(rèn)1

  • mapreduce.reduce.memory.mb ,reduce任務(wù)內(nèi)存,cdh默認(rèn)1G

  • mapreduce.reduce.cpu.vcores ,reduce任務(wù)虛擬CPU核數(shù),cdh默認(rèn)1

  • yarn.nodemanager.resource.memory-mb ,容器內(nèi)存,cdh默認(rèn)8G

  • yarn.nodemanager.resource.cpu-vcores ,容器虛擬CPU核數(shù),cdh默認(rèn)8,但CM會自動檢測內(nèi)核數(shù)并修改,我這里被自動改成了24。

可以看到默認(rèn)配置下,CPU核數(shù)和內(nèi)存是1:1G的比例來啟動任務(wù)的。

接著查看了下分配給Yarn的內(nèi)存,果然是8×15=120G,所以可用內(nèi)存比可用vcores(360個)比起來就小太多了,導(dǎo)致按照1:1G的比例下最多只能使用120個vcores。

測試

為了證實我的猜想,將     yarn.nodemanager.resource.memory-mb     調(diào)成了16G(咱內(nèi)存128G,管夠)。重啟yarn后,再次啟動MR,于是有了下圖:

CDH集群調(diào)優(yōu)的方法是什么

可以看到參數(shù)調(diào)整前,Yarn可用內(nèi)存為120G,調(diào)整后變成了240G;vcores由調(diào)整前的120變成了240。至此,證明猜想正確。

所以對于這個集群來說,由于內(nèi)存為128G,內(nèi)核為24個,所以完全可以將    yarn.nodemanager.resource.memory-mb    參數(shù)調(diào)成24G,這樣就能將所有的CPU都利用起來了。

測試結(jié)果

yarn.nodemanager.resource.memory-mb    為8G時:

Time taken: 3794.17 secondsTotal MapReduce CPU Time Spent: 3 days 10 hours 43 minutes 22 seconds 640 msec

yarn.nodemanager.resource.memory-mb    為16G時:

Time taken: 2077.138 secondsTotal MapReduce CPU Time Spent: 3 days 12 hours 55 minutes 43 seconds 210 msec

可以看到確實快了很多很多。(ps:兩次跑的任務(wù)所用的數(shù)據(jù)不一樣,以免緩存導(dǎo)致第二次跑相同的任務(wù)會速度比第一次快,但兩次任務(wù)所用的數(shù)據(jù)量差不多,都在650G左右)

其它

查看VCores SQL
SELECT allocated_vcores_cumulative, available_vcores where category=YARN_POOL and serviceName="yarn" and queueName=root
查看分配給Yarn的內(nèi)存 SQL
SELECT allocated_memory_mb_cumulative, available_memory_mb where category=YARN_POOL and serviceName="yarn" and queueName=root

當(dāng)然最簡單的查看方式就是在CM的“動態(tài)資源池”頁面看。

讀到這里,這篇“CDH集群調(diào)優(yōu)的方法是什么”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

cdh
AI