Hadoop reduce任务挂起

时间:2011-06-27 12:18:31

标签: hadoop mapreduce hung

我设置了一个包含4个节点的hadoop集群,当运行map-reduce任务时,map任务快速完成,而reduce任务挂起率为27%。我检查了日志,这是reduce任务无法从地图节点获取地图输出。

master的作业跟踪器日志显示如下消息:

---------------------------------
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的名称节点日志显示如下消息:

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 /芯-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)都已关闭,并且每两个节点之间的ssh是可以的。 所以我不知道错误的确切位置。请帮忙。非常感谢。

1 个答案:

答案 0 :(得分:1)

好吧终于找到了问题。 我之前做了一个测试,向集群添加一个新节点,然后删除了该节点。但是,我忘了杀死新节点的任务跟踪器,导致新节点一直发送心跳。修改主机文件时,新节点已注释掉。所以主人感到困惑,因为它无法找到谁是节点,然后试图询问DNS服务器...... 杀死新节点的任务跟踪器后,一切正常