问题描述
hdfs
格式化命令第一次启动的时候进行格式化即可,后续如果重复格式化会出现datanode
启动失败的问题
原因分析
在hadfs-site.xml
配置中指定了hdfs
运行时产生的存储目录
<property>
<name>hadoop.data.dir</name>
<value>/opt/module/hadoop-3.1.3/data<value>
</property>
对于配置了namenode
的节点上,会在该目录产生上述配置的节点目录,本次配置的是name
目录进行,并且对于其他节点上配置datanode
就会产生本次配置的data
目录,如下:
其下current
目录下的文件VERSION
,该文件存储相应的版本信息
storageID=DS-8a712acb-de88-4736-ad39-b5f9ac94bbfa
clusterID=CID-622407ad-be8b-47e6-b07d-853c89884476
cTime=0
datanodeUuid=6b59207c-1dcd-49f4-ba05-b4453e2293a5
storageType=DATA_NODE
layoutVersion=-57
其中clusterID
字段就是集群的id
,namenode
管理的dataname
对应的data
目录下也是存在clusterID
字段,跟管理他的namenode
是一致的,重复格式化就是会datanode
找不到管理他的namenode
从而导致启动失败
问题解决
只要删除配置的hdfs
对应的存储目录就可以了,上述就是删除/opt/module/hadoop-3.1.3/data
扩展
配置参考:Hadoop学习4:集群配置与测试