更新时间:2025-07-12 GMT+08:00
备NameNode节点长时间未启动,导致启动失败
问题描述
长时间没有启动备NameNode,edits文件由于老化策略被自动清理后,重新启动NameNode时找不到所需的edits文件,从而报错。
There appears to be a gap in the edit log. We expected txid XXX, but got txid XXX.
处理步骤
- 登录FusionInsight Manager。
- 选择“集群 > 服务 > HDFS > 配置 > 全部配置”。
- 搜索并查看“dfs.namenode.name.dir”参数值获取NameNode数据目录,例如获取到数据目录为“/srv/BigData/namenode/current”。
dfs.namenode.name.dir:表示DFS NameNode在本地文件系统存储fsimage的目录。如果设置为一个以逗号分隔的目录列表,那fsimage会复制到该列表中的所有目录以进行冗余备份。默认值为“${BIGDATA_DATADIR}/namenode”。
- 在HDFS服务页面选择“实例”页签,查看并记录主备NameNode节点的业务IP地址。
- 以root用户登录发生故障的备NameNode节点,将3获取的数据目录中的fsimage文件进行备份。例如备份到“/srv/BigData/namenode/current.bak”路径下。
mv /srv/BigData/namenode/current/ /srv/BigData/namenode/current.bak
- 以root用户登录主NameNode节点,执行如下命令复制fsimage文件到备NameNode节点。
scp -rp /srv/BigData/namenode/current/ {备NameNode节点IP}:/srv/BigData/namenode/
chown omm:wheel /srv/BigData/namenode/current -R
- 重启备NameNode,观察是否重启成功。如果失败请联系技术支持进行处理。
父主题: 使用HDFS