数据节点无法启动

时间:2013-09-30 03:19:23

标签: hadoop hdfs startup daemons

我无法启动Hadoop数据节点。我做了所有可能的研究,没有一种方法有助于解决我的问题。当我尝试使用

启动它时,这是我的终端控制台输出
hadoop datanode -start

这就是:

root@Itanium:~/Desktop/hadoop# hadoop datanode -start
Warning: $HADOOP_HOME is deprecated.

13/09/29 22:11:42 INFO datanode.DataNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting DataNode
STARTUP_MSG:   host = Itanium/127.0.1.1
STARTUP_MSG:   args = [-start]
STARTUP_MSG:   version = 1.2.1
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013
STARTUP_MSG:   java = 1.7.0_25
************************************************************/
Usage: java DataNode
           [-rollback]
13/09/29 22:11:42 INFO datanode.DataNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down DataNode at Itanium/127.0.1.1
************************************************************/
root@Itanium:~/Desktop/hadoop# jps
31438 SecondaryNameNode
32013 Jps
31818 TaskTracker
1146 Bootstrap
    31565 JobTracker
    30930 NameNode

root@Itanium:~/Desktop/hadoop# 

我们可以看到DataNode尝试启动但随后关闭。我一直在使NameNode启动时遇到问题。我曾经通过使用

手动启动它来解决这个问题
start-dfs.sh

现在问题在于DataNode。我非常感谢你帮助解决这个问题。

还有一个通用的问题。为什么Hadoop会显示这种不一致的行为。我确信我没有更改任何* -site.xml设置。

3 个答案:

答案 0 :(得分:1)

使用此命令hadoop datanode -rollback

答案 1 :(得分:1)

我也有类似的问题。看看Anup&#34发布的评论似乎是一个与命名空间ID不匹配的问题"我找到了一个参考资料,告诉我如何解决我的问题。 http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/#caveats

我看了一下DataNodes没有启动的从节​​点上的日志文件。他们都有以下例外:

2014-11-05 10:26:14,289 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /scratch/hdfs/data/srinivasand: namenode namespaceID = 1296690356; datanode namespaceID = 1228298945                                                                                                                                   
        at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:232)                                                                                    
        at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:147)                                                                           
        at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:385)                                                                                         
        at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:299)                                                                                                
        at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1582)                                                                                         
        at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1521)                                                                                  
        at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1539)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1665)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1682)

修复此异常解决了这个问题。

修复就是要么 a)删除dfs数据目录。使用namenode -format重新格式化。 b)更新VERSION文件,以便两个命名空间ID匹配。

我能够使用选项b),之后数据节点成功启动。

导致此问题的错误报告记录在:https://issues.apache.org/jira/browse/HDFS-107

答案 2 :(得分:0)

我遇到过同样的问题,原来50010端口被其他应用程序占用,停止应用程序,重新启动Hadoop