前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TiDB集群之中控不可用,怎么办?

TiDB集群之中控不可用,怎么办?

作者头像
SEian.G
发布2021-10-12 16:37:30
6810
发布2021-10-12 16:37:30
举报
文章被收录于专栏:SEian.G学习记录SEian.G学习记录

TiDB在集群部署方便可以说非常的方便,尤其是4.0版本引入了TiUP集群运维工具,日常管理维护非常的方便;通过 TiUP cluster 组件就可以进行日常的运维工作,包括部署、启动、关闭、销毁、弹性扩缩容、升级 TiDB 集群,以及管理 TiDB 集群参数。目前 TiUP 可以支持部署 TiDB、TiFlash、TiDB Binlog、TiCDC,以及监控系统。

通过TiUP我们可以同时管理多套TiDB集群环境、包括DM集群等等,那么问题来了,如果中控节点宕机了或者要迁移中控,怎么办?那么多套集群环境,就没法统一管理了?本文针对该问题进行具体的说明;

问题背景

如果TiUP中控节点宕机,该如何进行恢复?那么我们从两个层面进行分析,一方面,中控有备份,另一方面,中控没有备份;

一、中控有备份

中控有备份,那么我们可以直接通过中控的备份进行恢复;

中控备份:

TiUP 相关的数据都存储在用户home目录的 .tiup 目录下,若要迁移中控机只需要拷贝 .tiup 目录到对应目标机器即可。

中控备份:tar czvf tiup.tar.gz .tiup。为了避免中控机磁盘损坏或异常宕机等情况导致TiUP数据丢失,建议线上环境定时备份.tiup 目录,写一个简单的脚本就可以搞定。

恢复方法:

1、把 tiup.tar.gz 拷贝到目标机器home目录。

2、在目标机器 home 目录下执行 tar xzvf tiup.tar.gz。

3、添加 .tiup 目录到 PATH 环境变量。

如使用 bash 并且是 tidb 用户,在 ~/.bashrc 中添加 export PATH=/home/tidb/.tiup/bin:$PATH 后执行 source ~/.bashrc,根据使用的 shell 与用户做相应调整。

二、中控没有备份

针对中控没有备份,那么其实恢复方案也相对比较简单

恢复方法:

1、在新的中控机器上,重新部署tiup

2、根据运行的集群组件,重新配置一个集群的拓扑文件

3、执行deploy命令:tiup cluster deploy tidb-xxx ./topology.yaml

4、执行完成之后,不需要start集群,因为集群本身是在运行的,执行display查看一下集群的节点状态即可;

注意事项:

1、新的中控节点,必须要包括和各个节点网络都是通的,并且ssh也是互通的

2、无论是通过备份恢复还是重新编写拓扑配置文件在新的节点恢复中控,如果恢复完成后,查看集群的节点状态显示down或N/A的状态(如下所示),请检查新的中控节点和集群各节点之间的网络是否是通的(telnet IP Port检查);

好了,今天就聊到这里吧,大家有其他的恢复方法,可以一起交流学习;

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-09-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA的辛酸事儿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题背景
  • 一、中控有备份
  • 二、中控没有备份
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档