我是Hadoop的新手,但我遇到的问题与posted here非常相似。唯一的事情就是OP在Linux上运行hadoop,就像我在Windows上运行它一样。

我已经在本地计算机上安装了Hadoop Azure HDInsight Emulator。当我运行一个简单的字数统计程序时。映射器作业可完美运行100%,而“减少”作业则卡在0%。

我尝试按照Chris的建议进行调试(以响应this que),发现运行 reducer 作业的主机名存在问题(这是OP的确切问题)

Reduce不在localhost上运行,而是在某些主机名192.168.17.213上运行,该主机名没有得到解决,reduce无法从那里进行。

这些是错误日志

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 Emulator中将主机名设置为localhost?

最佳答案

有一篇文章向您展示如何在HDInsight仿真器上运行单词计数MapReduce程序。本文是位于http://www.windowsazure.com/en-us/documentation/articles/hdinsight-get-started-emulator/的HDInsight模拟器入门。

09-25 17:30