hadoop:数据节点没有运行?

hadoop:数据节点没有运行?

我通过以下方式配置并部署了 Hadoop 单节点设置教程。

一切都部署得很好,但是当我执行 jps 查看活动进程时,没有显示数据节点。

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

总而言之,Hadoop 集群中的 DataNode 进程根本没有运行。

另外,我想知道一台机器是否可以安装 2 个 Hadoop。我使用一个用于 mapreduce 进程,另一个用于搜索引擎。?所以它们的目录不同,这样可以吗?另外,我每次只运行一个 Hadoop 操作。

编辑1#:- 如果这有帮助,这是我尝试通过运行 datanode 时的日志$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
************************************************************/

答案1

好的,我找到了解决方法。我似乎遇到了错误:不兼容的命名空间 ID。我找到了解决方法这里。太好了,终于解决了。

如果您也遇到了与不兼容的 namespaceID 相同的问题,请尝试以下方法,它对我来说非常有效。如果您仍然遇到问题,请发表评论,我会回复您。

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

答案2

  1. DataNode 尝试启动但随后关闭。可以通过 检查hadoop datanode -start
  2. 该问题是由于 namespaceID 不兼容造成的。因此,使用命令删除 tmp 目录

    sudo rm -Rf  /app/hadoop/tmp
    
  3. 然后按照以下步骤操作:

    sudo mkdir -p /app/hadoop/tmp    
    

    http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/

相关内容