angus930
(Angus930)
1
【TiDB 使用环境】生产环境
【TiDB 版本】6.1.5
【操作系统】CentOS79
【部署方式】机器部署,混合部署,共3个PD节点
【问题复现路径】服务器于凌晨发生自动重启,此台服务器上工有1个pd实例,两个tikv实例
【遇到的问题:问题现象及影响】
目前tikv实例恢复正常,但pd服务无法启动,报如下错误:
[2025/09/30 01:17:19.425 +08:00] [FATAL] [main.go:117] [“run server failed”] [error=“[PD:leveldb:ErrLevelDBOpen]leveldb: manifest corrupted (field ‘compare
r’): missing [file=MANIFEST-001432]: leveldb: manifest corrupted (field ‘comparer’): missing [file=MANIFEST-001432]”] [stack=“main.main\n\t/home/jenkins/ag
ent/workspace/build-common/go/src/github.com/pingcap/pd/cmd/pd-server/main.go:117\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:250”]
且dashboard也在此pd节点上,目前也无法使用!
此类问题能够在线进行恢复吗?dashboard无法能否切至其他pd节点上?
1 个赞
angus930
(Angus930)
4
tikv没有问题,但这个pd根据日志分析,应该是文件损坏了,我看了官方的修复方式,好像都需要重启整个pd服务或集群,目前生产没发停产,所以想问问有没有在线修复的方式;再一个,dashbaord服务能不能手动迁移至其他pd节点上
1 个赞
你直接再扩容一个pd 节点试下,如果pd leader 能切到这个节点那就OK了
1 个赞
怎么实现只缩容这一个节点,除了deletePod,好像没其他方式。 我也遇到pd文件损坏的情况。
直接修改副本的方式,目前实验来看,会缩容掉正常运行的副本。
1 个赞
Kongdom
(Kongdom)
8
哎,我使用TiOperator部署在k8s上面,没有tiup,难!
lllzd
(时光旅行者)
13
文件损坏,使得该pd实例无法启动, 备份或healthy pd节点重建损坏的pd实例,不建议直接在线修复损坏的 LevelDB 数据目录。
建议在扩容一个 pd,然后把坏掉的 pd 在下掉,先扩后缩。
另外,混部会有些许风险,如果资源允许,尽可能分开部署。
从错误信息看,这是PD节点的LevelDB manifest文件损坏,导致PD无法启动
PD 节点的 LevelDB 元数据文件(MANIFEST)损坏或丢失
system
(system)
关闭
19
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。