2017-06-02 54 views

回答

2

你在標題和正文中的問題是不同的。

在4x1core和1x4core之間進行選擇時,後者具有數據局部性的優勢 - 映射器和縮減器之間沒有數據傳輸,所有數據都在同一臺機器上。

要考慮的另一個重要因素是RAM的數量。如果你不得不選擇1臺16GB內存的機器和8臺2GB內存的機器,你最好選擇第一個選項,因爲有些算法需要在內存中加載大量內存,而且你只能使用小內存運行它們。

要記住的最後一件事:對集羣中所有機器配置相同的配置很重要,否則有些配置會提前完成並等待慢速配置。如果集羣將增長,現在選擇最合適的配置。

長話短說:在大多數情況下,高端機器的性能會更好。如果可以,請選擇它們。

+0

感謝您的信息,這是非常有益的!另外,如果機器有四個內核,可以在同一臺機器上運行四個映射器?使用所有內核有什麼特別之處嗎?或者Hadoop會自動執行這些操作? – Jessica

+0

@Jessica是的,這是可能的。通常你會在作業開始前聲明mapper資源,所以你可以說mapper默認需要2gb ram和1個核心,如果hadoop有16gb ram和8個可用內核,hadoop會產生8個mapper。你可以谷歌YARN(hadoop資源管理器)並檢查它是如何工作的。 – AdamSkywalker

+0

謝謝@AdamSkywalker! – Jessica

相關問題