【 TiDB 使用环境】生产环境
【 TiDB 版本】v5.2.2
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
集群中之前加了drainer节点,现在想将drainer节点从集群中移除
我做的操作:
1、tiup ctl:v5.2.2 binlog -pd-urls=http://xxxxx:2379 -cmd offline-drainer -node-id xxx:18249之后drainer显示Down状态了,可是tiup cluster display 的时候仍然还会显示
2、tiup cluster edit-config 编辑集群配置将drainer相关内容#号注释掉,无法保存
New topology could not be saved: immutable field changed: removed Drainers.0.Host with value ‘10.30.2.21’, removed Drainers.0.ssh_port with value ‘22’, removed Drainers.0.Port with value ‘18249’, removed Drainers.0.DeployDir with value ‘/opt/tidb_deploy/drainer-18249’, removed Drainers.0.DataDir with value ‘/data/tidb_data/drainer-18249’, removed Drainers.0.LogDir with value ‘/opt/tidb_deploy/drainer-18249/log’, removed Drainers.0.Offline with value ‘true’, removed Drainers.0.Arch with value ‘amd64’, removed Drainers.0.OS with value ‘linux’
tiup cluster scale-in datalake -N xxxx:18249
缩容掉对应节点。
我一开始也是用scale-in命令,然后drainer仍然显示Down状态,物理机上进程确实是退出了,可是用display仍然还是显示,所以才用了binlogctl工具。
难道要先binlogctl下线,再scale-in?
我觉的这个dm-worker的下线情况有点类似。
先要source迁移出去,然后把dm-worker offline/stop。最后scale-in。
我理解binlogctl下线控制的是这个节点的状态,不是这个节点的存在与否。
scale-in就是控制这个节点在集群的拓扑中,还是否存在了。
是啊,纳闷了,刚刚又scale-in了一次,再用display仍然还显示在集群里Down状态。
不行就尝试加–force强制缩容。
https://docs.pingcap.com/zh/tidb/v5.4/tiup-component-cluster-scale-in#--force
反正这个组件里面应该没数据。
2 个赞
你是不先把pump卸载了啊,scale-in先卸载drainer,再卸载pump
感谢,加了-force是从display里删除掉了
1 个赞
记得标记最佳答案奥~