背景
CentOS7.5中三台机器(hadoop102、hadoop103、hadoop104)的hadoop集群
问题描述
hadoop集群启动后使用jps查看会发现Datanode消失一个(hadoop102、hadoop103、hadoop104随机消失一个),然后有时候启动又不会消失,
查看${HADOOP_HOME}/logs/hadoop-dyson-namenode-hadoop102.log
发现大量相同报错,报错有时候是102和103出现,有时候是102和104出现,还有时候是103和104出现
报错代码
ERROR org.apache.hadoop.hdfs.StateChange:
BLOCK* NameSystem.getDatanode:
Data node DatanodeRegistration(192.168.10.102:9866,
datanodeUuid=55173a5c-2022-4da1-88e7-6f951a5d071d,
infoPort=9864, infoSecurePort=0, ipcPort=9867,
storageInfo=lv=-57;cid=CID-1ab5bb66-8ef9-43dd-be04-e19e1db8657f;
nsid=543050661;c=1649234112448) is attempting to report storage ID
55173a5c-2022-4da1-88e7-6f951a5d071d.
Node 192.168.10.104:9866 is expected to serve this storage
产生原因
可能是之前数次将namenode格式化,还是未知的误操作(个人仅格式化一次,所以更加倾向于误操作),
导致了三台节点的${HADOOP_HOME}/data/dfs/data/current/VERSION
文件中datanode的storageID和datanodeUuid是一样的
解决方案
修改$HADOOP_HOME/data/dfs/data/current下的VERSION文件中的storageID和datanodeUuid使得三台节点不一样即可
个人仅修改最后一个字符,若是102节点,则将最后一个字符改为2
我是dyson不只是吹风机,若是对大数据-数据仓库技术感兴趣的可以加我沟通交流,一起进步。VX:daijun1211
ps:若文章侵权、触犯隐私请联系作者删除,谢谢~~