StarRocks 备份与恢复

官网地址:备份与恢复

StarRocks 版本: 3.4.0-e94580b

部署信息:3 fe + 3 be 混部

备份仓库:minio

前言

很久就知道StarRocks 有备份与恢复功能,最近在一个项目上遇到了点问题,需要使用备份恢复功能,提前测试一下,外部存储系统选择是: MinIO。

StarRocks 支持在以下外部存储系统中备份数据:

  • Apache™ Hadoop® (HDFS)集群
  • AWS S3
  • Google GCS
  • 阿里云 OSS
  • 腾讯云 COS
  • 华为云 OBS
  • MinIO

StarRocks 支持备份以下对象:

  • 内部数据库、表(所有类型和分区策略)和分区
  • External Catalog 的元数据(自 v3.4.0 开始支持)
  • 同步物化视图和异步物化视图
  • 逻辑视图(自 v3.4.0 开始支持)
  • UDF(自 v3.4.0 开始支持)

说明
StarRocks 存算分离集群不支持数据备份和恢复。

创建备份仓库


-- 以下示例在 Minio 存储桶 srb 中创建仓库 minio_repo
drop repository minio_repo;
CREATE REPOSITORY minio_repo
WITH BROKER
ON LOCATION "s3a://srb/ods"
PROPERTIES(
    "fs.s3a.access.key" = "access_key",  -- minio 账号
    "fs.s3a.secret.key" = "secret_key",  -- minio 密码
    "fs.s3a.endpoint" = "http://192.168.1.x:9000",  -- minio 访问地址
       "fs.s3a.connection.establish.timeout" = "15000"  -- 超时时间 15秒
);

查看备份仓库


SHOW REPOSITORIES

image-1

查看minio 对应桶,已经创建了目录:

image

备份表


-- 以下示例在数据库 ods 中为表 ods_ticket_scenic_flow 创建数据快照 ods_ticket_scenic_flow_backup 并备份至仓库 minio_repo 中。
BACKUP SNAPSHOT ods.ods_ticket_scenic_flow_backup
TO minio_repo
ON (ods_ticket_scenic_flow);

查看备份任务


-- 查看备份任务
show backup

可以查看备份任务的各个状态,直到完成

image-4

查看备份


-- 查看备份
SHOW SNAPSHOT ON minio_repo;

image-5

恢复表

执行恢复表的SQL,从 minio_repo 使用备份 ods_ticket_scenic_flow_backup 恢复表 ods_ticket_scenic_flow


RESTORE SNAPSHOT ods.ods_ticket_scenic_flow_backup
FROM minio_repo
ON (ods_ticket_scenic_flow)
PROPERTIES (
    "backup_timestamp"="2025-12-11-10-56-00-538",
    "replication_num" = "3"
);

备份数据库

执行备份恢复SQL:

-- 备份数据库 ods 到 minio_repo 中。
BACKUP SNAPSHOT ods.ods_backup TO minio_repo;

-- 查看备份任务
show backup;

-- 查看备份快照
SHOW SNAPSHOT ON minio_repo;

-- 恢复备份 ods_backup 到数据库 ods_demo
RESTORE SNAPSHOT ods_demo.ods_backup
FROM `minio_repo`
PROPERTIES("backup_timestamp" = "2025-12-11-15-41-07-777");

-- 查看恢复任务
show restore;

查看恢复数据库:

image-6

查看恢复的表:

image-7

查看表数据:

image-8

  • 结尾表达一下对starrocks 感谢的感谢,文档写得真详细
posted on 2025-12-11 15:56  Flink菜鸟  阅读(83)  评论(0)    收藏  举报