【 使用环境 】生产环境
【 OB or 其他组件 】ob obshell
【 使用版本 】4.3.2
【问题描述】按照文档中删除节点和删除ZONE的介绍,使用纯 SQL 在数据库中删除两个节点和 zone3 信息 ,已经成功操作完成
现在需要在 obshell 中同步删除节点和 ZONE ,但通过 obhsell cluter remove 命令操作报错,无法删除,不知道什么原因
【 使用环境 】生产环境
【 OB or 其他组件 】ob obshell
【 使用版本 】4.3.2
【问题描述】按照文档中删除节点和删除ZONE的介绍,使用纯 SQL 在数据库中删除两个节点和 zone3 信息 ,已经成功操作完成
现在需要在 obshell 中同步删除节点和 ZONE ,但通过 obhsell cluter remove 命令操作报错,无法删除,不知道什么原因
参考文档发出来看一下,目前应该不需要单独操作obshell了,都是obd集成了obshell
用obd 删除zone配置会 提示redeploy ,这个操作会销毁线上集群
obshell cluster remove是在集群初始化之前将节点从集群中移除。
你想进行的应该是缩容的动作,obshell暂时还未提供缩容的命令,后续 obshell 将支持,届时可直接通过 obshell 命令进行集群缩容。
缩容已经按照这个文档: 删除节点-V4.3.2-OceanBase 数据库文档-分布式数据库使用文档 完成了.
现在我担心如果 obshell 的信息没有同步更新,我以后使用 obd 操作启停集群会失败
你可以通过以下方式分别为OBD和OBShell维护元信息。
sqlite3 .meta 'delete from all_agent where zone="zone3"'
delete from ocs.all_agent where zone="zone3"
./bin/obshell admin stop
rm -fr 工作目录
vim ~/.obd/cluster/<deploy name>/config.yaml
其中需要提换成实际的部署名当前已删除了节点的话如需修复可以采用玉楼老师给的方法。yaml文件记得备份,使用vim修改具有一定风险