租户连接时报错8001-Server is initializing

收藏了

经验分享很有价值

干货满满,受益匪浅

内容很好

实践出真知,感谢分享实战经验

感谢分享!

期待更多分享

收藏了

关于Server的问题,is确实是一个重要的考虑因素。在实际应用中,我发现initializing方法通常更有效。

期待更多分享

8001 表示该租户所在 OBServer 仍在拉起/恢复中。建议:1)OCP 看该租户 Unit 分布节点日志,搜 initializing、replay、restore;2)对比 sys 与各租户 Unit 是否在同一 observer 且该节点进程/磁盘异常;3)断电后重点查 clog 回放是否卡住,必要时对该节点做 safe restart;4)确认租户无正在做的恢复/迁移任务。把 obdiag 包里对应 observer 的 observer.log 里 8001 前后栈贴出来更好定位。

感谢分享!

感谢作者的整理和分享

收藏了

宝贵的经验分享,谢谢!

8001 Server is initializing 通常表示目标租户对应的 unit/observer 尚未完成启动或回放,连接被拒绝;sys 能连、业务租户不能连,更指向该租户 unit 状态异常,而不是整集群宕机。

建议按这个顺序排查:
1)在 sys 查该租户 unit:SELECT * FROM oceanbase.DBA_OB_UNITS WHERE TENANT_ID=...,确认 UNIT 是否 INACTIVE/迁移中,以及所在 server 是否正常。
2)对照断电后是否有磁盘/时钟/网络异常;看对应 observer 日志里该租户的 replay/start service 是否卡住或报 I/O、checksum 错误。
3)OCP 上看租户资源池、unit 分布是否均衡;必要时对异常 unit 做迁移或重建(先备份)。
4)确认 OBProxy 路由到的是已就绪的 server,避免打到仍在 initializing 的节点。

断电后仅重启集群若 clog/基线未对齐,租户会长时间停在 initializing,需要结合日志定位卡点,而不是反复整机重启。