Starrocks-数据备份与恢复

发布于:2025-02-10 ⋅ 阅读:(44) ⋅ 点赞:(0)

Starrocks-数据备份与恢复

Starrocks 支持将数据备份至远程存储,如 HDFS, S3 等存储服务; 这里以 HDFS 为例,完成数据的备份与回复;

创建远程存储仓库

-- test_repo 创建的仓库名称
CREATE REPOSITORY test_repo
WITH BROKER
ON LOCATION "hdfs://xxxx:8020/tmp/starrocks/backup"
PROPERTIES(
    "username" = "hdfs"
);



-- 查看创建的仓库中的备份信息
SHOW SNAPSHOT ON budget_repo;

创建备份任务 - backup

-- 将 test_db 数据库中的  test_table 备份至仓库 test_repo; 其中备份的名称为 test_table_backup
BACKUP SNAPSHOT test_db.test_table_backup
TO test_repo
ON (test_table);

-- 同步整个数据库
BACKUP SNAPSHOT test_db.test_table_backup
TO test_repo
PROPERTIES ("type" = "full");

-- 支持多表创建 
BACKUP SNAPSHOT test_db.test_table_backup
TO test_repo
ON(
    example_tbl,
    example_tbl2
);

-- 指定分区同步 
BACKUP SNAPSHOT test_db.test_table_backup
TO test_repo
ON(
    example_tbl PARTITION (p1, p2)
);

查看备份状态 show backup

备份成功后以可查看远程仓库中的快照信息 SHOW SNAPSHOT ON test_repo; 其中 test_repo 为需要查看的远程仓库信息; 显示信息如下

Snapshot Timestamp Status
test_table_backup 2025-01-23-09-39-53-576 OK
  • Snapshot: 快照备份的名称
  • Timestamp: 快照创建的时间
  • Status: 快照状态

这三个都已以作为查询快照的条件 如 ; SHOW SNAPSHOT ON test_repo where Snapshot = 'test_table_backup'

数据恢复 - restore

-- 从 test_repo 仓库恢复 test_table_backup 快照中的 test_table 表到 test_db 数据库
RESTORE SNAPSHOT test_db.test_table_backup
FROM test_repo
ON ( test_table )
PROPERTIES
(
    "backup_timestamp"="2025-01-23-10-31-47-432", -- 对应的快照时间 ,这里指 快照 test_table_backup 的 Timestamp 字段
    "replication_num" = "1" -- 恢复的副本梳理 设置1 恢复快, 默认3 副本 
);

-- 从 test_repo 仓库恢复 test_table_backup 快照中的 test_table 表到 test_db 数据库并重命名为 new_table_name
RESTORE SNAPSHOT test_db.test_table_backup
FROM test_repo
ON ( test_table as new_table_name )
PROPERTIES
(
    "backup_timestamp"="2025-01-23-10-31-47-432", -- 对应的快照时间 ,这里指 快照 test_table_backup 的 Timestamp 字段
    "replication_num" = "1" -- 恢复的副本梳理 设置1 恢复快, 默认3 副本 
);

END …


网站公告

今日签到

点亮在社区的每一天
去签到