2013-02-21 74 views
0

我已經設置了3節點Hadoop集羣(1的Namenode,2點數據的節點)和HBase的同一HDFS的頂部。每個節點都在我的基礎上這個博客 http://ankitasblogger.blogspot.in/2011/01/hadoop-cluster-setup.html
Hadoop的處理時間在集羣和獨立系統

我寫了一個程序的Windows 8機(英特爾i5,4GB內存,2.4GHz的)
我已經配置的HBase,Hadoop的運行512個MB的Ubuntu虛擬框圖像,它分析了大約有500,000條記錄(縮減集)的美國人口普查數據。我只是在MAP任務中讀取文件(來自hdfs)並將其存儲爲HBASE。並稍後根據過濾器檢索數據。

當我在一個獨立運行的程序(512 MB虛擬機)Hadoop的HBase的,它需要約23分鐘。但是當我在集羣中運行同一個jar(512 * 3 MB)時,它需要花費40分鐘以上。

爲什麼簇花更多的時間來處理?或者它是預期的結果?

回答

1

運行在虛擬機只會拖慢你的map-reduce(因爲從運行虛擬操作系統和多種的Hadoop實例的開銷),特別是如果你耗盡內存集羣,它有使用swap從主機操作系統。

記住的虛擬機都共享1個物理CPU,且只能用於開發。

+0

我有3虛擬盒子運行,他們都共享1個CPU?或者每個VBox會使用物理CPU? – 2013-02-22 08:50:09

+0

你的電腦有多少個物理CPU? – Josh 2013-02-22 23:04:32

+0

無論您的計算機有多少個CPU,使用虛擬機進行基準測試都是不好的做法。此外,分佈式模式下程序速度較慢是非常正常的,特別是由於網絡通信造成的開銷。 – Xion345 2013-02-23 15:46:34

相關問題