我是Hadoop的新手,我有一個非常類似的問題,如posted here。唯一的事情是OP在Linux上運行hadoop,因爲我在Windows上運行它。HDInsight字數映射減少程序停留在mapper 100%和reducer 0%
我在本地機器上安裝了Hadoop Azure HDInsight仿真器。當我運行一個簡單的字數統計程序。 Mapper作業完全運行100%,但Reduce作業卡住0%。
我試圖調試它由克里斯的建議(針對this que),發現與主機上減速運行作業的問題(這是因爲OP的具體問題)
Reduce未在localhost
上運行,而是在某些主機名192.168.17.213
上運行,該問題未得到解決,並且減速器無法從此處繼續進行。
這些都是錯誤日誌
copy failed: attempt_201402111921_0017_m_000000_0 from 192.168.17.213
2014-02-12 01:51:53,073 WARN org.apache.hadoop.mapred.ReduceTask:
java.net.ConnectException: Connection timed out: connect
OP獲得通過chaning \etc\hosts
文件設置爲localhost解決這個問題。
但是,這似乎是一個Linux配置..如何將我的主機名設置爲我的Hadoop Azure HDInsight模擬器中的本地主機?
本文展示了使用java map reduce可執行文件(.jar文件)的運行映射計數。在這裏,我使用.NET hadoop API來執行我的程序。我非常肯定,我的程序是好的唯一的事情就是我的reducer在某個主機名上運行,然後在localhost上運行,它無法解析。在Emulator的某個地方必須有一些配置將它設置爲我想知道的localhost。 –