【问题标题】:yarn hadoop 2.4.0: info message: ipc.Client Retrying connect to serveryarn hadoop 2.4.0:信息消息:ipc.Client 重试连接到服务器
【发布时间】:2014-06-08 14:25:06
【问题描述】:

我已经搜索了两天的解决方案。但没有任何效果。

首先,我是整个 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

关于我的配置的其他信息: 使用操作系统:centOS 6.5 Java 版本:OpenJDK 运行时环境 (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>

我希望有人可以帮助我。 :) 谢谢, 诺曼

【问题讨论】:

  • 问题是由端口问题引起的。如果我停止 iptables,所有作业都会成功运行。我试图在 yarn.app.mapreduce.am.job.client.port-range 的 mapred-site.xml 中指定 applicationMaster 的端口范围。但这无济于事。 netstat 说,仍然存在使用该范围之外端口的 MRAppMaster 程序。是否有更多设置可以在 mapred-site.xml 或 yarn-site.xml 中为 appMaster 指定端口?谢谢,诺曼。

标签: hadoop mapreduce ipc hadoop-yarn


【解决方案1】:

作业有时会成功完成,因为当您有一个 reducer 并且该 reduce 任务偶然被发送到 working 节点管理器时,它就会成为成功的作业。

您必须确保FQDN-HOSTNAMEslaves 文件中的写入方式完全相同。如果我没记错的话,我的解决方案是我删除了/etc/hosts 中的主机名映射条目,也就是这样注释掉它:

#127.0.0.1    FQDN-HOSTNAME

【讨论】:

    【解决方案2】:

    另一种可能的解决方案是检查所有节点中的防火墙。 如果你正在处理 iptables,你可以在每个节点上运行它:

    # /etc/init.d/iptables save
    # /etc/init.d/iptables stop
    

    这将停止防火墙,直到下次重新启动,但它应该足以让您测试集群。您不必重新启动 yarn 或其他任何东西,只需再次运行作业即可。

    如果你想完全停止FW:

    # chkconfig iptables off
    

    【讨论】:

      【解决方案3】:

      哇!这些答案是真的吗??当工作明确完成时谈论 FQDN……只要禁用防火墙?并且 OP 甚至放了详细的日志消息/配置。

      来吧伙计们 - RTFQ。问题是 yarn.app.mapreduce.am.job.client.port-range 没有被兑现。我也遇到了。

      防火墙关闭...一切都很好(我可以从 yarn 作业中看到临时端口)。

      防火墙开启...所有超时(最终)。

      Horton 在其他板上完全忽略了这个问题。

      所以这里有一个作业的日志输出,它演示了这个问题。在第一种情况下,我根据 Horton 的文档(以及我通过仔细查看我的安装发现的 other 端口)在客户端上启用了防火墙。你会看到进程超时......然后突然开始工作。因为我在观看作业输出后禁用了防火墙:)

      2015-01-15 16:48:22,943 INFO [main] org.apache.hadoop.ipc.Client: Retrying connect to server: de-luster-l2723nraqsy5-ywhniidze3lb-qfk4asn77vc5/10.0.0.41:52015. Already tried 39 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=50, sleepTime=1000 MILLISECONDS)
      2015-01-15 16:48:23,349 INFO [main] org.apache.hadoop.mapred.YarnChild: mapreduce.cluster.local.dir for child: /hadoop/yarn/local/usercache/l.admin/appcache/application_1420482341308_0020
      2015-01-15 16:48:24,122 INFO [main] org.apache.hadoop.conf.Configuration.deprecation: session.id is deprecated. Instead, use dfs.metrics.session-id
      2015-01-15 16:48:24,656 INFO [main] org.apache.hadoop.mapred.Task:  Using ResourceCalculatorProcessTree : [ ]
      2015-01-15 16:48:24,724 INFO [main] org.apache.hadoop.mapred.ReduceTask: Using ShuffleConsumerPlugin: org.apache.hadoop.mapreduce.task.reduce.Shuffle@7f94ee59
      2015-01-15 16:48:24,792 INFO [main] org.apache.hadoop.mapreduce.task.reduce.MergeManagerImpl: MergerManager: memoryLimit=534354336, maxSingleShuffleLimit=133588584, mergeThreshold=352673888, ioSortFactor=100, memToMemMergeOutputsThreshold=100

      你看到了吗??超时问题......然后突然随机开始。毕竟与 FQDN 无关 :)

      但我会找到解决方案并回复。

      【讨论】:

        【解决方案4】:

        绝对是一个错误,这篇文章提供了对正在发生的事情的更清晰的洞察。 https://groups.google.com/a/cloudera.org/forum/#!msg/cdh-user/P1rfMQmYVWk/eARZXHUTkW0J

        我们计划通过减少临时端口范围来解决此问题,从而限制抓取的端口,然后配置 iptables 以允许该端口范围。此处解释了设置端口范围 - http://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html

        【讨论】:

          【解决方案5】:

          这是 MR AppMaster 如何使用临时端口启动的错误。它也存在于 Hadoop 2.6.0 发布版本中。
          我已经找到了解决这个错误的方法,并在 MAPREDUCE 项目上创建了一个 JIRA,并附上了关于如何修复它的评论。

          https://issues.apache.org/jira/browse/MAPREDUCE-6338

          【讨论】:

            【解决方案6】:

            如果你看到类似的消息

            INFO ipc.Client: Retrying connect to server: <hostname>/<ip>:<port>. Already tried 1 time(s); maxRetries=3
            

            需要检查:

            • 检查客户端和节点管理器之间的防火墙
            • 检查 yarn.app.mapreduce.am.job.client.port-range 默认情况下他的范围是所有可能的端口

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2013-08-16
              • 1970-01-01
              • 1970-01-01
              • 2020-04-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多