背景
最近因为集群中的一个节点挂掉了(Linux系统挂了),所以从另外一个节点把所有文件重新拷贝了一份到这个节点上。然后常规启动集群后,发现所有数据节点都已正常启动,但通过web页面查看http://master:50070,在Live Node里缺少了这台之前挂掉的节点,因为是整体拷贝,所以包括HDFS的元数据信息也是一模一样的,造成冲突。
原因分析
1、找到配置文件hdfs-site.xml
2、找到其中dfs.datanode.name.dir属性(网上还有一说,可能是dfs.data.dir属性,具体具体看你用哪个设置的数据存储路径)的路径下,如***/hdfs/data
3、再找到路径下 VERSION文件
4、storageID和 datanodeUuid完全一致导致冲突。
解决方案
1、删除hdfs元数据目录下所有文件,如**/hdfs/data目录下的所有文件;
2、格式化namenode: hdfs namenode -format;
3、重启集群;
本文介绍了一个HDFS集群中因节点故障及恢复过程中出现的节点冲突问题。详细分析了问题产生的原因,并给出了具体的解决步骤,包括删除元数据、格式化名称节点等。
3209

被折叠的 条评论
为什么被折叠?



