Wordcount程序卡在hadoop-2.3.0中

时间:2014-04-30 20:50:40

标签: hadoop mapreduce

我安装了hadoop-2.3.0并尝试运行wordcount示例 但是它开始工作并且闲置

hadoop@ubuntu:~$ $HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.3.0.jar    wordcount /myprg outputfile1
14/04/30 13:20:40 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
14/04/30 13:20:51 INFO input.FileInputFormat: Total input paths to process : 1
14/04/30 13:20:53 INFO mapreduce.JobSubmitter: number of splits:1
14/04/30 13:21:02 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1398885280814_0004
14/04/30 13:21:07 INFO impl.YarnClientImpl: Submitted application application_1398885280814_0004
14/04/30 13:21:09 INFO mapreduce.Job: The url to track the job: http://ubuntu:8088/proxy/application_1398885280814_0004/
14/04/30 13:21:09 INFO mapreduce.Job: Running job: job_1398885280814_0004

跟踪作业的网址:application_1398885280814_0004 / enter image description here enter image description here

对于以前的版本,我没有遇到这样的问题。我能够在以前的版本中运行hadoop wordcount。 我跟着these steps安装了hadoop-2.3.0

请建议。

2 个答案:

答案 0 :(得分:6)

在切换到YARN的同时,我有一个完全相同的情况。基本上MRv1中有task slots的概念,MRv2中有containers的概念。这两者在如何在节点上安排和运行任务方面存在很大差异。

您的工作陷入困境的原因是它无法找到/启动container。如果你进入Resource Manager/Application Master等守护进程的完整日志,你可能会发现它在开始分配新容器后什么也没做。

要解决此问题,您必须在yarn-site.xmlmapred-site.xml中调整内存设置。在我自己做同样的事情的同时,我发现thisthis教程特别有帮助。我建议你尝试使用非常基本的内存设置并在以后优化它们。首先检查单词计数示例,然后继续查看其他复杂的单词。

答案 1 :(得分:3)

我遇到了同样的问题。我将以下属性添加到我的yarn-site.xml中,它解决了这个问题。

 <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>Hostname-of-your-RM</value>
        <description>The hostname of the RM.</description>
    </property>

如果没有资源管理器主机名,则在多节点设置中出现问题,因为每个节点默认尝试查找本地资源管理器,并且永远不会将其资源通知给主节点。因此,您的Map Reduce执行请求可能找不到任何要运行的映射器,因为请求被发送到主服务器并且主服务器不知道从服务器插槽。

参考:http://www.alexjf.net/blog/distributed-systems/hadoop-yarn-installation-definitive-guide/