我是Hadoop的新手,我遇到了与posted here非常相似的问题。唯一的事情是OP在Linux上运行hadoop,因为我在Windows上运行它。
我在本地计算机上安装了Hadoop Azure HDInsight Emulator。当我运行一个简单的单词计数程序。 Mapper作业完美运行100%,但Reduce作业停留在0%。
我尝试按照Chris的建议调试它(响应this que)并发现主机名运行reducer作业的问题(这是OP的确切问题)
Reduce未在localhost
上运行,而是在某些主机名192.168.17.213
上运行,而该主机名未解析且reducer无法从那里进展。
这些是错误日志
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通过将\etc\hosts
文件设置转换为localhost来解决该问题。
但这似乎是一个linux配置..如何在我的Hadoop Azure HDInsight模拟器中将主机名设置为localhost?
答案 0 :(得分:0)
有一篇文章向您展示如何在HDInsight模拟器上运行计算MapReduce程序的单词。本文是位于http://www.windowsazure.com/en-us/documentation/articles/hdinsight-get-started-emulator/的HDInsight模拟器入门。