hadoop:datanode 没有运行?

ASC*_*cal 6 hadoop

我通过教程为单节点设置配置和部署了 hadoop 。

一切都部署得很好,但是当我执行 jps 查看活动进程时,未显示 datanode。

我手动尝试通过转到 来启动 datanode $HADOOP_HOME/bin : hadoop -datanode,但无济于事。

基本上总结一下,对于hadoop集群,datanode进程根本没有运行。

另外,我想知道一台机器是否可以有2个hadoop安装。我将一个用于 mapreduce 进程,另一个用于搜索引擎。? 所以他们的目录不同,可以吗?另外,我一次运行一个 hadoop 操作。

编辑 1#:- 如果这有帮助,这是我尝试通过$HADOOP_HOME.

root@thinktank:/usr/local/hadoop/bin# hadoop datanode
Warning: $HADOOP_HOME is deprecated.

13/08/27 16:34:57 INFO datanode.DataNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting DataNode
STARTUP_MSG:   host = thinktank/127.0.1.1
STARTUP_MSG:   args = []
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.6.0_27  
************************************************************/  
13/08/27 16:34:57 INFO impl.MetricsConfig: loaded properties from hadoop-metrics2.properties  
13/08/27 16:34:57 INFO impl.MetricsSourceAdapter: MBean for source   MetricsSystem,sub=Stats registered.  
13/08/27 16:34:57 INFO impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s).  
13/08/27 16:34:57 INFO impl.MetricsSystemImpl: DataNode metrics system started  
13/08/27 16:34:57 INFO impl.MetricsSourceAdapter: MBean for source ugi registered.  
13/08/27 16:34:57 WARN impl.MetricsSystemImpl: Source name ugi already exists!  
13/08/27 16:34:57 ERROR datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /app/hadoop/tmp/dfs/data: namenode namespaceID = 1955988395; datanode namespaceID =   1705269445
    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:414)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:321)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1712)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1651)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1669)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1795)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1812)

13/08/27 16:34:57 INFO datanode.DataNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down DataNode at thinktank/127.0.1.1
************************************************************/
Run Code Online (Sandbox Code Playgroud)

ASC*_*cal 2

好的,我找到解决方法了。我似乎遇到了错误:不兼容的命名空间ID。我在这附近找到了一份工作。好在终于解决了。

如果您也遇到了不兼容的命名空间 ID 的相同问题,请尝试以下操作,它对我来说就像一个魅力。如果您仍有问题,请发表评论,我会回复您。

解决方案:
1. 停止有问题的 DataNode。
2. 编辑${dfs.data.dir}/current/VERSION中namespaceID的值,使其与${dfs.name.dir}/current/VERSION中当前NameNode对应的值匹配。
3. 重新启动固定的DataNode。这将为您解决问题。