2015-12-25 96 views
-2

我在java-oracle 7上使用hadoop 1.0.3 - 當我在大約1.5GB大小的大數據中運行字數計算代碼時,需要很長時間才能減少覆蓋範圍到複製步驟10個小時以上。 與16節點系統;一個naster和15從每個節點具有: 羣集總結如下:爲什麼hadoop 1.0.3中的reducer很慢

Configured Capacity: 2.17TB 
DFS Used: 4.23GB 
Non DFS USed:193.74GB 
DFS Remaining: 1.98TB 
DFS Used%: .19% 
DFS Remaining%: 91.09% 
Live Nodes: 16 
Dead Nodes: 0 
Decomissioned Nodes: 0 
Number of Under Replicated Blocks: 0 

the reducer output

我嘗試將其與29映射器和1輪減速機,16減速機,35減速機,56減速機...問題是一樣的,錯誤出現「太多取料故障」

回答

0

正在使用多少個映射器和減速器?
看起來你正在使用非常少量的減速器。
由於還原劑數量較少,您將觀察到性能較差。
您需要根據您的上下文和可用工作節點的數量來配置映射器和縮減器。

+0

28映射器和一個reducer ....什麼適合的reducer – seso

+0

如果你有16個節點,比你有至少16個reducer是有道理的。爲您提供的默認值並不總是很好。 –

+0

根據公式(節點* mapred.tasktracker.tasks.maximum)* {。95或1.75}將其增加到16和35,56,但出現「太多取出故障」錯誤 – seso