2012-09-12 96 views
2

設置hadoop多節點集羣后,我確實跑過了着名的wordcount map縮小例子。但我沒有得到任何輸出,但凍結了任務。這裏我得到了什麼......Apache hadoop map減少任務凍結

12/09/12 13:01:29 INFO input.FileInputFormat: Total input paths to process : 3 
12/09/12 13:01:29 INFO util.NativeCodeLoader: Loaded the native-hadoop library 
12/09/12 13:01:29 WARN snappy.LoadSnappy: Snappy native library not loaded 
12/09/12 13:01:30 INFO mapred.JobClient: Running job: job_201209121300_0002 
12/09/12 13:01:31 INFO mapred.JobClient: map 0% reduce 0% 
12/09/12 13:01:45 INFO mapred.JobClient: map 33% reduce 0% 
12/09/12 13:01:48 INFO mapred.JobClient: map 100% reduce 0% 
12/09/12 13:01:54 INFO mapred.JobClient: map 100% reduce 11% 

但是在主站和從站都沒有例外。但在奴隸任務跟蹤器中,連續打印日誌。

2012-09-12 13:23:14,573 INFO org.apache.hadoop.mapred.TaskTracker:  attempt_201209121300_0002_r_000000_0 0.11111112% reduce > copy (1 of 3 at 0.04 MB/s) > 

在此之前,我配置hadoop單節點,運行上述任務,我得到了成功的輸出。

p.s: 1.我有兩個節點,分別作爲主站和從站。兩個IP地址都在兩個節點的/ etc/hosts中。
2.可以不用密碼ssh給每個主站和從站。 (無密碼登錄)
3.在master中運行start-dfs.sh之後,它也運行在slave機器上(我用jps進行了檢查)
4.這裏是我遵循的教程。 http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/
5.兩臺機器都禁用了防火牆。

如何解決此問題?

+0

類似的帖子:http://stackoverflow.com/questions/10165549/hadoop-wordcount-example-stuck-at-map-100-reduce-0 –

+0

這可能有助於http://stackoverflow.com/questions/32511280/Hadoop的1-2-1-多節點集羣減速器相位掛起換單詞計數程序/ 32551259#32551259 –

回答

2

我會考慮玩mapred.reduce.slowstart.completed.maps屬性。默認情況下,它被設置爲5%這意味着當5%的mapper任務完成時,洗牌開始。您的映射器似乎即將完成,但可能會發生最後一次映射器卡住,即使進度條顯示爲100%。在這種情況下,隨着等待最後的地圖完成,洗牌也將掛起。

除此之外,您還可以更改mapred.reduce.parallel.copies(shuffle中的並行複製線程數)以查看它是否更適合您的硬件。

4

最後我做到了。這是我所做的。運行地圖縮減作業時檢查了錯誤的日誌。每個作業hadoop都會生成一些位於logs/userlogs/job_id/*中的作業日誌。所以當我檢查這些日誌時,我終於可以看到一些知道UnknownHostException的異常。所以我發現我的問題。使用ipadress將slaves計算機名添加到我的主設備/ etc/host中,然後重新啓動hadoop map reduce作業。
我們可以檢查上面的作業日誌在UI
1.首先轉到jobtracker.jsp
2.Click工作
3.You可以看到目前正在運行什麼,或點擊地圖或降低並檢查日誌。