WalterLYU
(Ti D Ber Vo Ap Do Ro)
1
背景:实例192.168.0.1上混合部署了 TIKV、TIDB
需求:需要下线实例192.168.0.1上面的TIDB节点
问题:根据官方文档(https://docs-archive.pingcap.com/zh/tidb/v3.0/scale-tidb-using-ansible)注意事项中“以下缩容示例中,被移除的节点没有混合部署其他服务;如果混合部署了其他服务,不能按如下操作。”
是否还有其他方式可以实现这个需求。(PS:TIDB 版本暂不考虑升级)
或者可以手动登录 192.168.0.1 节点,然后 kill tidb_server_pid ?
啦啦啦啦啦
2
加 -l 指定机器 -t 指定服务试试,不过最好还是测试环境先试试,3.0太老了,忘得差不多了
Kongdom
(Kongdom)
6
这个只是停止节点运行,不是从集群中移出节点。还是要按照官方文档操作。
3.0版本还没有使用tiup ,用的是ansible 工具。
楼主要操作老集群,可以使用ansible 来管理集群节点,包括扩缩容、启停、升级等方面。
如果是只有少数的节点,那么可以手动执行命令完成。在楼主这个问题上,可以这样:
1.调整前端负载均衡,把要下线的tidb server节点upstream 去掉,移走业务流量。
2.使用ansible 缩容,或者手动systemctl stop再清理目录的方式下线。
3.检查集群情况,确认完成缩容。
tidb server是无状态的,所以操作还是比较简单的,只要没有前端流量了就问题不大。
如果是pd 或者tikv 有状态的节点,还需要重启集群,会复杂一些。
随缘天空
(Ti D Ber Ivw R7o Pj)
11
缩容处理,不过该版本太低了,不知道是否支持。杀掉进程应该也可以吧,你可以试试
缩容 TiDB 节点
1.修改前端负载均衡迁移走流量
2.停止对应的实例节点名字
ansible-playbook stop.yml -l tidb-name1,tidb-name2
或者手动停止服务进程:
sudo systemctl stop tidb-4000.service
3.编辑 inventory.ini
文件,移除节点信息
4.更新 Prometheus 配置并重启
ansible-playbook rolling_update_monitor.yml --tags=prometheus
5.检查
WalterLYU
(Ti D Ber Vo Ap Do Ro)
20
使用 sudo systemctl stop tidb-4000.service 可行。
感谢🙏