我无法启动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设置。
答案 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