【问题标题】:Incompatible clusterIDs in datanode and namenodedatanode 和 namenode 中的 clusterID 不兼容
【发布时间】:2017-04-11 12:58:57
【问题描述】:

我检查了这个网站上的解决方案。

我去(hadoop文件夹)/data/dfs/datanode更改ID。

但是,datanode文件夹中没有任何东西。

我能做什么?

感谢阅读。

如果你能帮助我,我将不胜感激。

附言

2017-04-11 20:24:05,507 WARN org.apache.hadoop.hdfs.server.common.Storage:无法添加存储目录 [DISK]file:/tmp/hadoop-knu/dfs/data/

java.io.IOException:/tmp/hadoop-knu/dfs/data 中的 clusterID 不兼容:namenode clusterID = CID-4491e2ea-b0dd-4e54-a37a-b18aaaf5383b;数据节点集群 ID = CID-13a3b8e1-2f8e-4dd2-bcf9-c602420c1d3d

2017-04-11 20:24:05,509 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode:块池(Datanode Uuid 未分配)服务对 localhost/127.0.0.1:9010 的初始化失败。退出。

java.io.IOException: 所有指定目录加载失败。

2017-04-11 20:24:05,509 WARN org.apache.hadoop.hdfs.server.datanode.DataNode:结束块池服务:块池(Datanode Uuid 未分配)服务到 localhost/127.0.0.1:9010

core-site.xml

<configuration>
    <property>
            <name>fs.defaultFS</name>
            <value>hdfs://localhost:9010</value>
    </property>
</configuration>

hdfs-site.xml

<configuration>
   <property>
            <name>dfs.replication</name>
            <value>1</value>
   </property>
   <property>
            <name>dfs.namenode.name.dir</name>
            <value>/home/knu/hadoop/hadoop-2.7.3/data/dfs/namenode</value>
    </property>
    <property>
            <name>dfs.namenode.checkpoint.dir</name>
            <value>/home/knu/hadoop/hadoop-2.7.3/data/dfs/namesecondary</value>
    </property>
    <property>
            <name>dfs.dataode.data.dir</name>
            <value>/home/knu/hadoop/hadoop-2.7.3/data/dfs/datanode</value>
    </property>
    <property>
            <name>dfs.http.address</name>
            <value>localhost:50070</value>
    </property>
    <property>
           <name>dfs.secondary.http.address</name>
            <value>localhost:50090</value>
    </property>
</configuration>

PS2

[knu@localhost ~]$ ls -l /home/knu/hadoop/hadoop-2.7.3/data/dfs/
drwxrwxr-x. 2 knu knu  6  4월 11 21:28 datanode
drwxrwxr-x. 3 knu knu 40  4월 11 22:15 namenode
drwxrwxr-x. 3 knu knu 40  4월 11 22:15 namesecondary

【问题讨论】:

  • 你能发布你的hdfs-site.xmlcore-site.xml
  • 我添加了 hdfs-site.xml 和 core-site.xml
  • 你能不能也把ls -l /home/knu/hadoop/hadoop-2.7.3/data/dfs/的输出贴出来!!
  • 我添加了 ls -l /home/knu/hadoop/hadoop-2.7.3/data/dfs/ 的结果
  • 哦...谢谢。我改了

标签: hadoop installation


【解决方案1】:

问题在于属性名称dfs.datanode.data.dir,它被拼写为dfs.dataode.data.dir。这会使该属性无法被识别,因此,${hadoop.tmp.dir}/hadoop-${USER}/dfs/data 的默认位置被用作数据目录。

hadoop.tmp.dir 默认为/tmp,每次重启时该目录的内容将被删除,并强制datanode在启动时重新创建该文件夹。因此 集群 ID 不兼容

在格式化名称节点和启动服务之前,在hdfs-site.xml 中编辑此属性名称。

【讨论】:

  • 嗯...抱歉我听不懂。你是说改变吗?不是?然后。如何选择名称?
【解决方案2】:

我的解决方案:

  • rm -rf ./tmp/hadoop-${user}/dfs/data/*
  • ./bin/hadoop namenode -format
  • ./sbin/hadoop-daemon.sh start datanode

【讨论】:

    【解决方案3】:

    尝试格式化namenode,然后重启HDFS。

    【讨论】:

    • 我做了下面的命令 sbin/stop-all.sh bin/hdfs namenode -format sbin/start-all.sh 但是,datanode 仍然不工作
    【解决方案4】:

    复制/hadoop/bin$目录下的集群:

    ./hdfs namenode -format -clusterId CID-a5a9348a-3890-4dce-94dc-0fec2ba999a9
    

    【讨论】:

    • 从datanode日志中复制集群ID并在/hadoop/bin目录下执行以下命令./hdfs namenode -format -clusterId CID-a5a9348a-3890-4dce-94dc-0fec2ba999a9
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 2015-03-26
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多