2
運行地圖任務是否會減慢縮小任務?通過放慢我的意思是他們分享共同資源嗎?在地圖/縮小之間共享資源
運行地圖任務是否會減慢縮小任務?通過放慢我的意思是他們分享共同資源嗎?在地圖/縮小之間共享資源
當然,他們會以某種方式影響系統。它們都是在同一臺機器上運行的java進程。然而,在目前的系統配置中,只要你沒有在插槽數量方面做一些愚蠢的事情,這並沒有什麼大不了的。
每個map任務或reduce任務本身都不是多線程或多進程的,所以它大多隻會使用一個CPU核心。這就是爲什麼一般的經驗法則是每個核心有1個映射或減少時隙有點意義。所以,如果你有12個內核,你可以做8個地圖插槽和4個縮減插槽。
此外,這些任務將共享相同的磁盤,但這通常不是什麼大事,通常是因爲系統有多個磁盤並且磁盤訪問突然爆發。
找出最佳配置的最好方法就是嘗試嘗試不同的配置。設置插槽數量並不難,所以只需調整它,然後重新運行一些具有生產代表性的作業。
請注意,如果您一次只運行一個作業,那麼在映射器運行時減速器不會有太多工作。在這種情況下,他們不會真的互相影響。更現實的說,你將會有幾個作業在運行,一個作業的地圖任務將與其他作業的縮減作業同時運行。