所以我試圖在AWS R3.4xLarge機器上運行一些hadoop作業。他們有16個核心和122千兆字節的RAM。當更多節點被使用時,hadoop沒有創建足夠的容器
我的每個映射器都需要大約8個RAM和一個線程,所以這些機器非常適合這項工作。
我已mapreduce.memory.mb設定爲8192, 和mapreduce.map.java.opts設置爲-Xmx6144 這將導致約14映射器(在實踐中接近12),每個機器上運行。
事實上,這對於2個從屬設置來說非常重要,其中調度程序顯示集羣的利用率爲90%。
然而,縮放到4個奴隸時,似乎hadoop根本沒有創建更多的映射器。實際上它創造了LESS。
在我的2奴隸設置,我有不到30個映射器在任何時間運行,我有大約20個四奴隸。這些機器坐在只有50%的利用率。
核心在那裏,物理內存在那裏。缺少什麼?爲什麼hadoop不創建更多的容器?