HDFS HA误删namenode后报错Nameservice testCluster has no SecondaryNameNode or High-Availability partner的恢复
删除hdfs ha namenode的正常方式是先禁用高可用,今天想试试直接删除其中一个namenode,于是开始操作,结果剩下的NN无法启动。
cm页面报错:“Nameservice testCluster has no SecondaryNameNode or High-Availability partner”。
解决办法:
- hdfs配置里搜索原来的nameservice名(我的是testCluster),删除掉搜索出来的 namenode nameservice 和 quorum journal。
- 实例里删除journal node,添加SecondaryNamenode。
- 重启nn,报错“java.io.IOException: There appears to be a gap in the edit log. We expected txid 113850025, but got txid 113855934.”看到这个日志相信你已经明白原因了。
- 把删除的nn节点目录下的数据全部(也可以按需挑选)覆盖到当前nn节点目录下。(保守起见可以现把本节点目录备份后再删除)
- 重启nn,一切正常了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步