关于数据库:腾讯云TDSQL-备份故障处理案例

12次阅读

共计 3109 个字符,预计需要花费 8 分钟才能阅读完成。

一、TDSQL 备份意义:

有人说散布数据库都是多正本的,没有必要进行备份。我感觉这话只对了一半,首先分布式数据库是多正本的没错。但还是有必要进行备份的。例如数据误删,drop table ,drop database 操作; 或者须要进行历史数据的剖析; 又或者多重劫难,导致主备数据全副损毁。可能这些机率很小,得咱们的数据经不起这样的损毁。所以不论是传统集中式数据库,还是当初比拟风行的分布式数据库。为了数据安全,理当进行备份。

二、TDSQL 备份介绍:

TDSQL 反对物理备份和逻辑备份,它会主动从一个正本进行异步实时备份,同时能守 binlog 进行增量备份。利用最近一天的镜像,联合期间的 binlog 即实现指定工夫点的复原。物理备份是其于 xtrabackup 在底层拷贝一致性数据文件 +BINLOG 地位。逻辑备份基于 mydumper select 获取一致性数据+BINLOG 地位。其外围原理就是通过一致性全量数据 +BINLOG 地位。

三、TDSQL 备份失败案例:

通过 TDSQL 的物理备份对配置库 4001 进行备份的时候。

提醒: Error occurred,see mysqlagent log for detail. 谬误如下:

1. 查看备份节点的日志:

[root@huyidb03 nohup]# pwd
/data/tdsql_run/4001/mysqlagent/log/nohup
[root@huyidb03 nohup]# ll
total 48
-rw-rw-rw-. 1 tdsql users 3 Dec 12 15:53 coldbackupbinlog_result_4001
-rw-rw-rw-. 1 tdsql users 34077 Dec 12 15:49 coldbackupimage_4001_2020-12-12
-rw-rw-rw-. 1 tdsql users 3 Dec 12 15:27 coldbackup_result_4001
-rw-r–r–. 1 tdsql users 3 Dec 12 15:49 manualBackupResult_4001_0000000000.log

tail -100f coldbackupimage_4001_2020-12-12
.so’ (errno: 2, cannot open shared object file: No such file or directory)
innobackupex: Error writing file ‘UNOPENED’ (Errcode: 32 – Broken pipe)
xb_stream_write_data() failed.
xtrabackup: Error: write to logfile failed
innobackupex: Error writing file ‘UNOPENED’ (Errcode: 32 – Broken pipe)
xtrabackup: Error: xtrabackup_copy_logfile() failed.

real 0m0.459s
user 0m0.420s
sys 0m0.063s
pipe:1 141 0 1,result:-1
end— -1 2020-12-12 15:49:23
ERROR: JAVA_HOME is not set and could not be found.

解决:

[root@huyidb03 nohup]# source /etc/profile
[root@huyidb03 nohup]# java -version
java version “1.8.0_152”
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)

以 tdsql 用户重启验证

[root@huyidb03 nohup]# su – tdsql
[tdsql@huyidb03 nohup]# cd /data/tdsql_run/4001/mysqlagent/bin
[tdsql@huyidb03 bin]# ./restartreport_cgroup.sh ../conf/mysqlagent_4001.xml
stop mysqlreport success
start mysqlreport success

而此时日志持续报错,无奈连贯 hadoop

details see: http://wiki.apache.org/hadoop…
ls: Call From huyidb03/10.85.10.53 to huyidb01:9002 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop…
put: Call From huyidb03/10.85.10.53 to huyidb01:9002 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop…
appendToFile: Call From huyidb03/10.85.10.53 to huyidb01:9002 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop…
put: Call From huyidb03/10.85.10.53 to huyidb01:9002 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop…

hadoop 节点去查看

[tdsql@huyidb01 ~]$ hadoop fs -ls /
ls: Call From huyidb01/10.85.10.51 to huyidb01:9002 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop…

再次查看 hadoop:

[tdsql@huyidb01 ~]$ hadoop fs -ls /
Found 1 items
drwxr-xr-x – tdsql supergroup 0 2020-12-12 12:37 /tdsqlbackup

备份节点查看 hadoop 挂载状况:

[root@huyidb03 nohup]# hadoop fs -ls /
Found 1 items
drwxr-xr-x – tdsql supergroup 0 2020-12-12 12:37 /tdsqlbackup
[root@huyidb03 nohup]#

再次在备份节点上发动备份 OK

四、起因剖析:

初步剖析是因为咱们先装置的 4001 的实例和 agent,而后才装置的 hadoop,而 hadoop 装置好后没有重启 4001 的 agent 让其配置失效。才导至在备份 4001 实例时失败,而其它实例失常。

【版权申明】本文为云贝学院胡毅原创内容,转载时必须标注文章的起源(云贝学院)、文章链接、作者等根本信息。

正文完
 0