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 基本原理

相关推荐

  1. Jenkins——节点

    2024-04-27 09:58:03       57 阅读
  2. K8S故障临时设置节点为不可调度

    2024-04-27 09:58:03       50 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-27 09:58:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-27 09:58:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-27 09:58:03       87 阅读
  4. Python语言-面向对象

    2024-04-27 09:58:03       96 阅读

热门阅读

  1. Markdown生成word和pdf

    2024-04-27 09:58:03       33 阅读
  2. k8s笔记 | StatefulSet 有状态

    2024-04-27 09:58:03       35 阅读
  3. AI编码prompt编写及内在逻辑

    2024-04-27 09:58:03       30 阅读
  4. 前端CSS基础12(布局)

    2024-04-27 09:58:03       33 阅读
  5. Spring Boot项目中按天分割日志的实践

    2024-04-27 09:58:03       43 阅读
  6. SpringBoot这29个注解你都用到过么

    2024-04-27 09:58:03       40 阅读