所以我有一個擁有7個工作節點的cloudera集羣。紗線:如何利用完整的集羣資源?
- 30GB RAM
- 4個vCPU
下面是我的一些配置,我在我的集羣的優化性能的重要發現(從谷歌)。我正在與運行:
yarn.nodemanager.resource.cpu-vcores
=> 4yarn.nodemanager.resource.memory-mb
=> 17GB(REST保留用於OS和其他進程)mapreduce.map.memory.mb
=> 2GBmapreduce.reduce.memory.mb
=> 2GB- 運行
nproc
=> 4(可用處理單元的數量)
現在我關心的是,何時我看看我的ResourceManager
,我看到可用內存爲119 GB
這很好。但是當我運行繁重的sqoop
作業,並且我的集羣處於高峯時,它僅使用內存的~59 GB
,而未使用內存~60 GB
。
我看到的一種方法,可以修復這個未使用的內存問題,將map|reduce.memory
增加到4 GB,這樣我們就可以使用高達16 GB的每個節點。
其他方法是增加容器的數量,我不知道如何。
- 4個核心×7個節點= 28個可能的容器。 3正在被其他進程使用,目前只有5個可用於sqoop作業。
什麼應該是正確的配置,以提高羣集性能在這種情況下。我可以增加容器的數量,比如說每個核心有兩個容器。這是建議?
有關羣集配置的任何幫助或建議將不勝感激。謝謝。
你使用DefaultResourceCalculator嗎?還是您配置使用DominantResourceCalculator? – Nicomak
你可以發佈你的'yarn-site.xml'和'mapred-site.xml'配置嗎? – Nicomak
我正在使用cloudera安裝。找不到'yarn.nodemanager.container-monitor.resource-calculator.class'屬性。如果可以的話,使用FairScheduler作爲scheduler.class。我應該從'yarn-site.xml'和'mapred-site.xml'給出任何特定的配置嗎? – PratPor