datanode和namenode中的clusterID不兼容

时间:2017-04-11 12:58:57

标签: hadoop installation

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

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

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

我该怎么办?

感谢阅读。

如果你帮助我,我会很感激你。

PS

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

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

2017-04-11 20:24:05,509 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode:Block pool(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:结束块池服务:Block pool(Datanode Uuid unassigned)服务到localhost / 127.0.0.1:9010

芯-site.xml中

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

HD​​FS-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

4 个答案:

答案 0 :(得分:1)

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

默认情况下,

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

我的解决方案:

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