【问题标题】:Hadoop reduce task gets hungHadoop reduce 任务挂起
【发布时间】:2011-06-27 12:18:30
【问题描述】:

我搭建了一个有4个节点的hadoop集群,当运行map-reduce任务时,map任务很快完成,而reduce任务挂了27%。我查看了日志,是reduce任务无法从map节点获取map输出。

master 的 job tracker 日志显示如下消息:

---------------------------------
2011-06-27 19:55:14,748 INFO org.apache.hadoop.mapred.JobTracker: Adding task (REDUCE)
'attempt_201106271953_0001_r_000000_0' to tip task_201106271953_0001_r_000000, for 
tracker 'tracker_web30.bbn.com.cn:localhost/127.0.0.1:56476'

并且master的name节点日志显示如下消息:

2011-06-27 14:00:52,898 INFO org.apache.hadoop.ipc.Server: IPC Server handler 4 on 
54310, call register(DatanodeRegistration(202.106.199.39:50010, storageID=DS-1989397900-
202.106.199.39-50010-1308723051262, infoPort=50075, ipcPort=50020)) from 
192.168.225.19:16129: error: java.io.IOException: verifyNodeRegistration: unknown 
datanode 202.106.199.3     9:50010

但是,“web30.bbn.com.cn”和202.106.199.39、202.106.199.3都不是从节点。我认为出现这样的 ip/domains 是因为 hadoop 无法解析节点(首先在 Intranet DNS 服务器中),然后它转到更高级别的 DNS 服务器,后来到顶部,仍然失败,然后是“垃圾”ip/domains被退回。

但是我检查了我的配置,它是这样的:

---------------------------------
/etc/hosts:
127.0.0.1       localhost.localdomain localhost
::1     localhost6.localdomain6 localhost6
192.168.225.16 master
192.168.225.66 slave1
192.168.225.20 slave5
192.168.225.17 slave17

conf/core-site.xml:

---------------------------------
<?xml version="2.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/root/hadoop_tmp/hadoop_${user.name}</value>
    </property> 
    <property>
            <name>fs.default.name</name>
            <value>hdfs://master:54310</value>
     </property> 
    <property>
            <name>io.sort.mb</name>
            <value>1024</value>
        </property>
</configuration>

hdfs-site.xml:

---------------------------------
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
</configuration>

大师:

---------------------------------
master

奴隶:

---------------------------------
master
slave1
slave5
slave17

另外,所有的防火墙(iptables)都关闭了,每2个节点之间的ssh都可以。 所以我不知道错误的确切来源。请帮忙。非常感谢。

【问题讨论】:

    标签: hadoop mapreduce hung


    【解决方案1】:

    嗯,终于找到问题了。 我之前做了一个测试,将一个新节点添加到集群中,后来删除了该节点。但是忘记杀新节点的task tracker,导致新节点一直在发送心跳。在修改 hosts 文件时,新节点被注释掉了。所以master因为找不到节点而感到困惑,然后试图询问DNS服务器...... 杀死新节点的任务跟踪器后,一切正常

    【讨论】:

    • 我在笔记本电脑上运行整个事情,似乎我以某种方式启动了第二个节点。我杀死了所有hadoop进程,重新启动它,现在一切都好。谢谢!
    猜你喜欢
    • 2011-12-19
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多