我找了两天的解决办法。但什么都没用。
首先,我不熟悉整个hadoop/yarn/hdfs主题,希望配置一个小集群。
上面的消息并不是每次我从mapreduce-examples.jar运行一个示例时都会显示出来,有时teragen可以工作,有时不行。在某些情况下,整个作业失败,而在另一些情况下,作业成功完成。有时作业失败,而不打印上面的消息。
14/06/08 15:42:46 INFO ipc.Client: Retrying connect to server: FQDN-HOSTNAME/XXX.XX.XX.XXX:53022. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=3, sleepTime=1000 MILLISECONDS)
此邮件打印30次。此外,端口(在代码示例:53022中)在每次启动作业时都会发生变化。如果作业成功完成,则这是打印
14/06/08 15:34:20 INFO mapred.ClientServiceDelegate: Application state is completed. FinalApplicationStatus=SUCCEEDED. Redirecting to job history server
14/06/08 15:34:20 INFO mapreduce.Job: Job job_1402234146062_0002 running in uber mode : false
14/06/08 15:34:20 INFO mapreduce.Job: map 100% reduce 100%
14/06/08 15:34:20 INFO mapreduce.Job: Job job_1402234146062_0002 completed successfully
如果失败,则会显示。
INFO mapreduce.Job: Job job_1402234146062_0005 failed with state FAILED due to: Task failed task_1402234146062_0005_m_000002
Job failed as tasks failed. failedMaps:1 failedReduces:0
在本例中,某些任务失败。但是在nodemanager、datanode、resourcemanager的日志文件中。。。找不到任何理由或信息。
INFO mapreduce.Job: Task Id : attempt_1402234146062_0006_m_000002_1, Status : FAILED
有关我的配置的其他信息:used os:centos 6.5 java版本:openjdk runtime environment(rhel-2.4.7.1.el6_5-x86_64 u55-b13)openjdk 64位服务器vm(内部版本24.51-b03,混合模式)
yarn-site.xml文件
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.address</name>
<value>FQDN-HOSTNAME:8050</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.localizer.address</name>
<value>FQDN-HOSTNAME:8040</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>FQDN-HOSTNAME:8025</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>FQDN-HOSTNAME:8030</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>FQDN-HOSTNAME:8032</value>
</property>
</configuration>
hdfs-site.xml文件
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions </name>
<value>false </value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///var/data/hadoop/hdfs/nn</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>file:///var/data/hadoop/hdfs/snn</value>
</property>
<property>
<name>fs.checkpoint.edits.dir</name>
<value>file:///var/data/hadoop/hdfs/snn</value>
<name>fs.checkpoint.edits.dir</name>
<value>file:///var/data/hadoop/hdfs/snn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///var/data/hadoop/hdfs/dn</value>
</property>
</configuration>
mapred-site.xml文件
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.cluster.temp.dir</name>
<value>/mapred/tempDir</value>
</property>
<property>
<name>mapreduce.cluster.local.dir</name>
<value>/mapred/localDir</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>FQDN-HOSTNAME:10020</value>
</property>
</configuration>
我希望有人能帮助我谢谢你,诺曼
5条答案
按热度按时间pvabu6sv1#
作业有时会成功完成,因为当您有一个reducer时,该reduce任务偶然被发送到
working
节点管理器,然后它成为成功的作业。你必须确保
FQDN-HOSTNAME
是完全一样的slaves
文件。如果我没记错的话,我的解决方案是删除/etc/hosts
,也就是这样评论:z3yyvxxp2#
这是mr appmaster如何使用临时端口启动的一个bug。它也存在于hadoop2.6.0发行版中。
我已经找到了这个bug的修复方法,并在mapreduce项目上创建了一个jira,以及如何修复它的注解。
https://issues.apache.org/jira/browse/mapreduce-6338
xpcnnkqh3#
哇!这些答案是真的吗??在作业明确完成时谈论fqdn…只要禁用防火墙??op甚至把详细的日志信息/配置。
来吧,伙计们。问题是yarn.app.mapreduce.am.job.client.port-range未得到遵守。我也遇到了。
防火墙关闭…一切都很好(我可以看到Yarn作业短暂的港口)。
防火墙打开…所有超时(最终)。
霍顿完全忽略了其他董事会的这个问题。
下面是一个作业的日志输出,它演示了这个问题。在第一种情况下,我基于horton的doc在客户机上启用了防火墙(以及通过仔细查看我的安装发现的其他端口)。你会看到进程超时…然后突然工作。因为我在查看作业输出后禁用了防火墙:)
你看到了吗??超时问题…然后突然开始洗牌。毕竟与FQDN无关:)
但我会找到解决办法并发回。
gpnt7bae4#
绝对是一个错误,这篇文章提供了一个更清楚的洞察正在发生什么。https://groups.google.com/a/cloudera.org/forum/#!msg/cdh用户/p1rfmqmyvwk/earzxhutkw0j
我们正计划通过减少临时端口范围来绕过这个问题,从而限制捕获的端口,然后配置iptables以允许该端口范围。设置端口范围的说明如下-http://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html
5gfr0r5j5#
另一个可能的解决方案是检查所有节点中的防火墙。如果要处理iptables,可以在每个节点上运行:
这将停止防火墙,直到下次重新启动,但这应该足以让您测试集群。你不必重新启动Yarn或任何东西,只要再次运行作业。
如果要完全停止fw: