doris数据备份(minio S3存储)
一、创建远程仓库
1 | CREATE REPOSITORY `仓库名(自己命名)` |
- ON LOCATION 这里后面跟的是 Bucket Name
二、备份操作
2.1 备份操作
1 | BACKUP SNAPSHOT [数据库名].{快照名} |
- 同一个数据库下只能进行一个备份操作。
- 节点数量越多,上传的效率越高。备份操作的效率取决于数据量、Compute Node 节点数量以及文件数量。如果分片非常多,或者分片内的小文件较多,都可能增加备份操作的时间。
2.2 查看最近 backup 作业的执行情况
1 | show BACKUP; |
2.3 查看远端仓库中已存在的备份
1 | SHOW SNAPSHOT ON 仓库名 WHERE SNAPSHOT = "快照名"; |
三、恢复操作
3.1 恢复操作
1 | RESTORE SNAPSHOT [数据库名].{快照名} |
- 同一数据库下只能有一个正在执行的 BACKUP 或 RESTORE 任务。
- 可以通过 AS 语句将仓库中备份的表名恢复为新的表。但新表名不能已存在于数据库中。
- 当指定恢复表的部分分区时,系统会检查分区范围是否能够匹配。
- 在集群规模相同的情况下,恢复操作的耗时基本等同于备份操作的耗时。
- 想加速恢复操作,可以先通过设置
replication_num
参数,仅恢复一个副本,之后在通过调整副本数 ALTER TABLE PROPERTY,将副本补齐。 - PROPERTIES的参数
- “backup_timestamp” 指定了恢复对应备份的哪个时间版本,必填。该信息可以通过
SHOW SNAPSHOT ON repo;
语句获得。 - “replication_num” 指定恢复的表或分区的副本数。默认为3。
- “reserve_replica**”默认为 false。当该属性为 true 时,会忽略 replication_num 属性**,恢复的表或分区的副本数将与备份之前一样。支持多个表或表内多个分区有不同的副本数。
- “reserve_dynamic_partition_enable” 默认为 false。当该属性为 true 时,恢复的表会保留该表备份之前的’dynamic_partition_enable’属性值。该值不为true时,则恢复出来的表的’dynamic_partition_enable’属性值会设置为false。
- “timeout”:任务超时时间,默认为一天。单位秒。
- “meta_version” = 40:使用指定的 meta_version 来读取之前备份的元数据。注意,该参数作为临时方案,仅用于恢复老版本 Doris 备份的数据。最新版本的备份数据中已经包含 meta version,无需再指定。
- “backup_timestamp” 指定了恢复对应备份的哪个时间版本,必填。该信息可以通过
3.2 查看 restore 作业的执行情况
1 | SHOW RESTORE; |