我在此站点上检查了解决方案。

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

但是,datanode文件夹中没有任何内容。

我能做什么?

感谢阅读。

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

PS

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

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

2017-04-11 20:24:05,509重要的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警告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

最佳答案

问题在于属性名称dfs.datanode.data.dir,它被误称为dfs.dataode.data.dir。这会使属性无法识别,因此,${hadoop.tmp.dir}/hadoop-${USER}/dfs/data的默认位置用作数据目录。
hadoop.tmp.dir默认为/tmp,每次重新启动时,该目录的内容将被删除,并强制datanode在启动时重新创建该文件夹。因此不兼容的clusterID

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

关于hadoop - datanode和namenode中不兼容的clusterID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43346632/

10-12 23:49