TDSQL手动调整备份节点或冷备节点

一、背景描述

近期TDSQL数据库备份不稳定,有些set实例的备份任务未自动发起。经排查分析,存在多个set实例容量已经超过TB级别,且冷备节点都是同一台。因此,需要手动将当前备份节点改到其他备节点,开启增量备份,提升并发备份效率。

二、修改zookeeper中备份节点配置(低版本)

TDSQL 版本为10.3.14.6.0,Zookeeper版本为3.4.12。该版本赤兔界面不支持手动调整,因此,直接从后台进行配置调整。我们打算把实例的备份节点从A中心改到B中心。

1、赤兔管理平台,看到Set实例由4个节点组成,并且【备】10.3.10.14:4005被自动选为备份节点。

2、在赤兔调度管理系统找到zookeeper leader的地址,使用客户端zkCli.sh登录。

su - tdsql
# cd /data/application/zookeeper
# cat conf/zoo.cfg |grep clientPort
clientPort=2181
# bin/zkCli.sh -server localhost:2181
[zk: localhost:2181(CONNECTED) 0]

set /tdsqlzk/group_1618898494_22/agent/agent_sets/agent_set@set_1618898567_1/coldbackup@set_1618898567_1/coldbackup_elect@set_1618898567_1
{"errorcode":"0","forbidPersist":false,"history":"","ip":"指定IP","ispaused":"0","modifytime":"1713518352","port":"指定端口","roundmodifytime":"当前时间戳","runinfo":"","updatecount":"0"} 

3、查询指定set的zk信息:根据group和set名称,编写查询脚本。

[zk: localhost:2181(CONNECTED) 1] get /tdsqlzk/group_1633418054_6293/agent/agent_sets/agent_set@set_1681565235_38/coldbackup@set_1681565235_38/coldbackup_elect@set_1681565235_38

查询结果如下:
/tdsqlzk/group_1633418054_6293/agent/agent_sets/agent_set@set_1681565235_38/coldbackup@set_1681565235_38/coldbackup_elect@set_1681565235_38
{"errorcode":"0","forbidPersist":false,"history":"","ip":"10.3.10.14","ispaused":"0","modifytime":"1699430102","port":"4005","roundmodifytime":"1699372800","runinfo":"","updatecount":"0"}       

4、基于上述查询结果,进一步修改指定set的zk信息:

(1)ip字段改为新的备份节点地址;

(2)roundmodifytime 字段以当前时间戳为准进行更新,时间戳可以通过这个在线网址进行转换,参考地址:在线时间戳转换工具

查询指定set的zk信息
set /tdsqlzk/group_1633418054_6293/agent/agent_sets/agent_set@set_1681565235_38/coldbackup@set_1681565235_38/coldbackup_elect@set_1681565235_38 
{"errorcode":"0","forbidPersist":false,"history":"","ip":"10.4.10.14","ispaused":"0","modifytime":"1699430102","port":"4005","roundmodifytime":"1699372800","runinfo":"","updatecount":"0"}

5、修改完,可以执行get命令进行查看验证。然后登录赤兔平台,等待5~10分钟后,可以看到备份节点已经调整过来了。

三、手动选取冷备节点(新版本)

系统默认选取冷备节点,用户可以根据需要修改。

  1. 进入 手动设置冷备节点 页面。

赤兔管理平台:

非分布式实例:

(1)在实例管理页面, 选择所需非分布式实例 ID。

(2)单击左侧导航栏 实例详情,在备份配置区域,查看当前冷备节点。

(3)根据需要,单击手动选取冷备节点。

分布式实例:

(1)在实例管理页面, 选择所需分布式实例 ID。

(2)单击左侧导航栏 SET管理, 选择所需 SetID。

(3)页面弹出 Set基本信息 框,在备份配置栏中,查看当前冷备节点。

(4)根据需要,单击手动选取冷备节点。

新赤兔管理平台:

非分布式实例:

(1)在实例管理页面, 选择所需非分布式实例 ID。

(2)在实例详情页签,在基本信息栏中,查看当前冷备节点。

(3)根据需要,单击当前冷备节点后的设置。

分布式实例:

(1)在实例管理页面, 选择所需分布式实例 ID。

(2)进入节点管理 > SET 管理 页签, 选择所需 SetID。

(3)页面弹出 Set基本信息 框,在备份配置栏中,查看当前冷备节点。

(4)根据需要,单击手动选取冷备节点。

(5)在手动设置冷备节点 弹出框中,选择冷备节点,单击确定。

四、写在后面的知识点

1、zookeeper常用命令:get命令用来获取指定节点的数据内容和属性信息;set命令更新节点中的数据;quit命令用来退出客户端。

2、TDSQL MySQL支持将数据手动备份到分布式文件存储系统(Hadoop Distributed File System,HDFS)、DB 服务器本地磁盘(Local)和分布式存储服务器(COS),支持物理备份和逻辑备份类型。手动备份操作挺方便的,直接在界面上操作就行。

五、参考资料

7.0 Zookeeper 客户端基础命令使用 | 菜鸟教程

ZooKeeper 基本原理

相关推荐
中杯可乐多加冰2 个月前
【AI驱动TDSQL-C Serverless数据库技术实战】 AI电商数据分析系统——探索Text2SQL下AI驱动代码进行实际业务
c语言·人工智能·serverless·tdsql·腾讯云数据库
NineData2 个月前
K1计划100%收购 MariaDB; TDSQL成为腾讯云核心战略产品; Oracle@AWS/Google/Azure发布
数据库·oracle·腾讯云·mariadb·azure·amazon·tdsql
YUNBEE_chen5 个月前
通过腾讯云TDSQL TCP&TCE(MySQL版)认证考试秘籍宝典
mysql·postgresql·云计算·腾讯云·分布式数据库·tdsql
phpstory1 年前
数据库交付运维高级工程师-腾讯云TDSQL
sql·云计算·腾讯云·tdsql·腾讯云tdsql