二进制安装StarRocks 存算一体 3.4.0版本(单机版)
基础环境
系统环境 | 软件版本 | IP地址 | FE | BE | CPU指令集 |
---|---|---|---|---|---|
Ubuntu 22.04.1 LTS | StarRocks-3.4.0 | 10.84.91.10 | LEADER | BE | AVX2 |
安装之前须查看系统CPU是否支持AVX2指令集
cat /proc/cpuinfo | grep avx2
注意:StarRocks 依靠 AVX2 指令集充分发挥其矢量化能力,因此CPU指令集必须存在AVX2否则服务将无法正常工作。
环境配置
官网地址:https://docs.starrocks.io/zh/docs/deployment/environment_configurations/
JDK环境配置
安装JDK依赖
apt install openjdk-11-jdk
配置JDK环境变量
export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64/ >> /etc/profile
export PATH=/usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin >> /etc/profile
export LANG=en_US.UTF8 >> /etc/profile ##配置 LANG 变量
source /etc/profile
禁用Transparent Huge Pages(Ubuntu默认就是madvise,可跳过)
# 临时变更。
echo madvise | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
echo madvise | sudo tee /sys/kernel/mm/transparent_hugepage/defrag
# 永久变更。
cat >> /etc/rc.d/rc.local << EOF
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo madvise > /sys/kernel/mm/transparent_hugepage/defrag
fi
EOF
禁用 Swap Space
#临时关闭 Swap Space。
swapoff -a
#永久关闭swapoff
#从 /etc/fstab 文件中删除 Swap Space 信息。
[root@starrocks ~]# cat /etc/fstab
...........................................................................
#/dev/mapper/rl-swap none swap defaults 0 0
#重启机器后确认 Swap Space 已关闭。
[root@starrocks ~]# free -h
total used free shared buff/cache available
Mem: 15Gi 583Mi 11Gi 8.0Mi 3.9Gi 14Gi
Swap: 0B 0B 0B
禁用 SELinux (Ubuntu默认没有SELinux,可跳过)
# 临时变更。
setenforce 0
# 永久变更。
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
sed -i 's/SELINUXTYPE/#SELINUXTYPE/' /etc/selinux/config
关闭防火墙(Ubuntu默认防火墙关闭的,可跳过)
systemctl stop firewalld.service && systemctl disable firewalld.service
内核参数优化
cat > /etc/sysctl.conf << EOF
vm.overcommit_memory = 1
vm.swappiness = 0
net.ipv4.tcp_abort_on_overflow=1
net.core.somaxconn=1024
vm.max_map_count = 262144
EOF
sysctl -p #使修改生效
- vm.max_map_count = 262144 #高并发配置
- net.core.somaxconn=1024 #监听 Socket 队列的最大连接请求数为 1024
- net.ipv4.tcp_abort_on_overflow=1#网络配置
- vm.swappiness=0 #禁用 Swappiness
时区配置
timedatectl set-timezone "Asia/Shanghai"
hwclock
时间同步配置
安装chrony
apt install chrony
配置chrony
cat > /etc/chrony.conf << EOF
pool ntp1.aliyun.com iburst
pool ntp2.aliyun.com iburst
sourcedir /run/chrony-dhcp
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
keyfile /etc/chrony.keys
ntsdumpdir /var/lib/chrony
leapsectz right/UTC
logdir /var/log/chrony
EOF
重启服务生效
systemctl restart chronyd
ulimit 设置
cat >> /etc/security/limits.conf << EOF
* soft nproc 65535
* hard nproc 65535
* soft nofile 655350
* hard nofile 655350
* soft stack unlimited
* hard stack unlimited
* hard memlock unlimited
* soft memlock unlimited
EOF
cat >> /etc/security/limits.d/20-nproc.conf << EOF
* soft nproc 65535
root soft nproc 65535
EOF
检查端口是否被占用
netstat -ntpl | grep "9060\|8040\|9050\|8060\|9070\|8030\|9020\|9030\|9010"
- be端口: 9060 8040 9050 8060 9070
- fe端口: 8030 9020 9030 9010
其他
echo 120000 > /proc/sys/kernel/threads-max
echo 200000 > /proc/sys/kernel/pid_max
安装StarRocks 3.4.0
官方地址:https://docs.starrocks.io/zh/docs/deployment/deploy_manually/
1. 下载并解压至工作目录
curl -L https://releases.starrocks.io/starrocks/StarRocks-3.4.0-ubuntu-amd64.tar.gz | tar -xz -C /apps/ && \
mv /apps/StarRocks-3.4.0-ubuntu-amd64 /apps/StarRocks
2. 创建FE和BE数据目录
mkdir /data/
3. 配置FE文件
cat /apps/StarRocks/fe/conf/fe.conf
LOG_DIR = ${STARROCKS_HOME}/log
DATE = "$(date +%Y%m%d-%H%M%S)"
JAVA_OPTS="-Dlog4j2.formatMsgNoLookups=true -Xmx32768m -XX:+UseMembar -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -Xloggc:${LOG_DIR}/fe.gc.log.$DATE -XX:+PrintConcurrentLocks"
JAVA_OPTS_FOR_JDK_11="-Dlog4j2.formatMsgNoLookups=true -Xmx30720m -XX:+UseG1GC -Xlog:gc*:${LOG_DIR}/fe.gc.log.$DATE:time -Djava.security.policy=${STARROCKS_HOME}/conf/udf_security.policy"
sys_log_level = INFO
meta_dir = /data/starrocks/fe/meta/
http_port = 8030
rpc_port = 9020
query_port = 9030
edit_log_port = 9010
mysql_service_nio_enabled = true
priority_networks = 10.84.0.0/24
4. 创建 StarRocks FE 启动服务(systemd)
cat /etc/systemd/system/starrocks-fe.service
[Unit]
Description=starrocks-fe daemon
[Service]
Type=simple
ExecStart=/bin/bash /apps/StarRocks/fe/bin/start_fe.sh
ExecStop=/bin/bash /apps/StarRocks/fe/bin/stop_fe.sh
Restart=always
[Install]
WantedBy=multi-user.target
5. 启动FE服务
systemctl start starrocks-fe.service && systemctl enable starrocks-fe.service
6. 配置BE文件
cat /apps/StarRocks/be/conf/be.conf
sys_log_level = INFO
be_port = 9060
be_http_port = 8040
heartbeat_service_port = 9050
brpc_port = 8060
starlet_port = 9070
default_replication_num = 1
priority_networks = 10.84.0.0/24
storage_root_path = /data/starrocks/be/
只想部署一个 BE 节点,必须在 FE 配置文件 fe/conf/fe.conf 中设置 default_replication_num 为 1。
default_replication_num = 1
7. 创建 StarRocks BE 启动服务(systemd)
cat /etc/systemd/system/starrocks-be.service
[Unit]
Description=starrocks-be daemon
[Service]
Type=simple
ExecStart=/bin/bash /apps/StarRocks/be/bin/start_be.sh
ExecStop=/bin/bash /apps/StarRocks/be/bin/stop_be.sh
Restart=always
[Install]
WantedBy=multi-user.target
8. 启动BE服务
systemctl start starrocks-be.service && systemctl enable starrocks-be.service
9. 验证服务是否正常启动
netstat -ntpl | grep "9060\|8040\|9050\|8060\|9070\|8030\|9020\|9030\|9010"
tcp 0 0 0.0.0.0:9050 0.0.0.0:* LISTEN 3568/starrocks_be
tcp 0 0 0.0.0.0:9060 0.0.0.0:* LISTEN 3568/starrocks_be
tcp 0 0 0.0.0.0:8060 0.0.0.0:* LISTEN 3568/starrocks_be
tcp 0 0 0.0.0.0:8040 0.0.0.0:* LISTEN 3568/starrocks_be
tcp6 0 0 :::9030 :::* LISTEN 35940/java
tcp6 0 0 :::9070 :::* LISTEN 3568/starrocks_be
tcp6 0 0 :::9010 :::* LISTEN 35940/java
tcp6 0 0 :::9020 :::* LISTEN 35940/java
tcp6 0 0 :::8030 :::* LISTEN 35940/java
部署后操作
1. 安装MySQL客户端
apt install mysql-client-core-8.0
2. 无密码登录StarRocks
mysql -h 10.84.91.10 -P9030 -uroot --prompt="StarRocks"
3. 设置root密码
set PASSWORD=PASSWORD('J.K6%\;r*n#Z,5BW_xXp*');
4. SQL查询优化
SET GLOBAL group_concat_max_len = 2048000;
set enable_query_cache=true;
set GLOBAL pipeline_dop=3;
set enable_profile = true;
- group_concat_max_len:全局设置group_concat 最大值
- enable_query_cache:是否开启 Query Cache,取值范围:true 和 false,true 表示开启,false 表示关闭(默认值),开启该功能后,只有当查询满足Query Cache 所述条件时,才会启用 Query Cache。
- pipeline_dop:一个 Pipeline 实例的并行数量。可通过设置实例的并行数量调整查询并发度。默认值为 0,即系统自适应调整每个 pipeline 的并行度。您也可以设置为大于 0 的数值,通常为 BE 节点 CPU 物理核数的一半。从 3.0 版本开始,支持根据查询并发度自适应调节 pipeline_dop,有多少副本就配置多少。
- enable_profile:用于设置是否需要查看查询的 profile。默认为 false,即不需要查看 profile。默认情况下,只有在查询发生错误时,BE 才会发送 profile 给 FE,用于查看错误。正常结束的查询不会发送 profile。发送 profile 会产生一定的网络开销,对高并发查询场景不利。当用户希望对一个查询的 profile 进行分析时,可以将这个变量设为 true 后,发送查询。查询结束后,可以通过在当前连接的 FE 的 web 页面(地址:fe_host:fe_http_port/query)查看 profile。该页面会显示最近 100 条开启了 enable_profile 的查询的 profile。
5. 添加be节点至集群
单节点
ALTER SYSTEM ADD BACKEND "10.84.91.10:9050"
多节点
ALTER SYSTEM ADD BACKEND "10.84.91.10:9050", "10.84.91.11:9050", "10.84.91.12:9050";
6. 验证是否添加成功
StarRocks> SHOW PROC '/backends'\G
*************************** 1. row ***************************
BackendId: 10002
IP: 10.84.91.10
HeartbeatPort: 9050
BePort: 9060
HttpPort: 8040
BrpcPort: 8060
LastStartTime: 2025-03-13 14:54:57
LastHeartbeat: 2025-03-17 10:33:40
Alive: true
SystemDecommissioned: false
ClusterDecommissioned: false
TabletNum: 69
DataUsedCapacity: 0.000 B
AvailCapacity: 746.239 GB
TotalCapacity: 786.374 GB
UsedPct: 5.10 %
MaxDiskUsedPct: 5.10 %
ErrMsg:
Version: 3.4.0-e94580b
Status: {"lastSuccessReportTabletsTime":"2025-03-17 10:33:39"}
DataTotalCapacity: 746.239 GB
DataUsedPct: 0.00 %
CpuCores: 8
MemLimit: 50.866GB
NumRunningQueries: 0
MemUsedPct: 0.30 %
CpuUsedPct: 0.1 %
DataCacheMetrics: Status: Normal, DiskUsage: 0B/580GB, MemUsage: 0B/0B
Location:
StatusCode: OK
1 row in set (0.02 sec)
- Alive: true:添加成功
7. 添加fe节点至集群
7.1、手动操作从节点启动时要指定LEADE的IP
/apps/StarRocks/fe/bin/start_fe.sh --helper "fe_leader_host:edit_log_port" --daemon
7.2、systemd 托管添加至集群方式
cat /etc/systemd/system/starrocks-fe.service
[Unit]
Description=starrocks-fe daemon
[Service]
Type=simple
ExecStart=/bin/bash /apps/StarRocks/fe/bin/start_fe.sh --helper "fe_leader_host:edit_log_port" --daemon
ExecStop=/bin/bash /apps/StarRocks/fe/bin/stop_fe.sh
Restart=always
[Install]
WantedBy=multi-user.target
7.3、在LEADER节点添加从节点IP和PORT至集群中
ALTER SYSTEM ADD FOLLOWER "10.84.91.11:9010","10.84.91.12:9010"
因为此处是单机模式,默认自动会将本机fe节点添加进去并设置为LEADER,可跳过,如果是多节点可执行以上操作。
8. 验证是否添加成功
StarRocks> SHOW FRONTENDS\G;
*************************** 1. row ***************************
Name: 10.84.91.10_9010_1741848390717
IP: 10.84.91.10
EditLogPort: 9010
HttpPort: 8030
QueryPort: 9030
RpcPort: 9020
Role: LEADER
ClusterId: 480437351
Join: true
Alive: true
ReplayedJournalId: 99143
LastHeartbeat: 2025-03-17 10:33:55
IsHelper: true
ErrMsg:
StartTime: 2025-03-17 10:32:36
Version: 3.4.0-e94580b
1 row in set (0.04 sec)
ERROR:
No query specified
- Alive: true 添加成功
备份与恢复
官方地址:https://docs.starrocks.io/zh/docs/administration/management/Backup_and_restore/
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 开始支持)
部署外部存储(minio)依赖环境
1.安装docker
apt install docker.io
2.安装docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/v2.33.1/docker-compose-linux-x86_64 -o /usr/bin/docker-compose && \
sudo chmod +x /usr/bin/docker-compose
部署外部存储(minio)
1. 部署minio
cat > docker-compose.yaml << EOF
services:
minio:
container_name: minio
image: minio/minio:latest
ports:
- "9000:9000"
- "9001:9001"
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: Sec@2024
command: minio server /minio_data --console-address ":9001"
volumes:
- /opt/minio/minio-data:/minio_data
healthcheck:
test: ["CMD", "curl", "-f", "http://minio:9000/minio/health/live"]
interval: 5s
timeout: 5s
retries: 5
EOF
2. 启动minio
docker-compose up -d
3. 创建AK和SK
3.1、下载Minio Client 工具
curl -L https://dl.min.io/client/mc/release/linux-amd64/mc -o /usr/bin/mc && \
sudo chmod +x /usr/bin/mc
3.2、设置别名
因Minio Client工具的要求,只能用 alias(别名)访问服务端
mc alias set StarRocks http://127.0.0.1:9000 minioadmin Sec@2024 && \
mc admin user svcacct add \
--access-key StarRocks \
--secret-key Sec@2024 \
StarRocks \
minioadmin
3.3、验证是否创建成功
列出 minioadmin 账号下的所有AK
mc admin user svcacct list StarRocks minioadmin
Access Key | Expiry
StarRocks | no-expiry
3.4、创建bucket
mc mb StarRocks/starrocks
- mc mb:make bucket,用于创建 bucket;
- StarRocks:你通过 mc alias set 配置的别名;
- my-bucket:你要创建的 bucket 名称,可以改成你需要的名字。
备份StarRocks数据库
1. 创建备份仓库
语法格式:https://docs.starrocks.io/zh/docs/sql-reference/sql-statements/backup_restore/CREATE_REPOSITORY/
在 MinIO 存储空间 bucket_minio 中创建仓库 test_repo,s3的访问路径结尾不能以/结尾,否则会有报错,备份数据将在starrocks buckets中存放
CREATE REPOSITORY test_repo
WITH BROKER
ON LOCATION "s3://starrocks/test_bak"
PROPERTIES(
"aws.s3.access_key" = "StarRocks",
"aws.s3.secret_key" = "Sec@2024",
"aws.s3.endpoint" = "http://10.84.91.10:9000"
);
2. 验证是否创建成功
mysql> SHOW REPOSITORIES;
+---------+----------------------------+---------------------+------------+-------------------------------------------+--------+--------+
| RepoId | RepoName | CreateTime | IsReadOnly | Location | Broker | ErrMsg |
+---------+----------------------------+---------------------+------------+-------------------------------------------+--------+--------+
| 4561972 | test_repo | 2025-03-17 10:06:06 | false | s3://starrocks/test_bak | | NULL |
+---------+----------------------------+---------------------+------------+-------------------------------------------+--------+--------+
1 rows in set (0.00 sec)
3. 备份数据库(全量备份)
为数据库 sr_hub 创建数据快照 sr_hub_20240317 并备份至仓库 test_repo 中。
-- 自 v3.4.0 起支持。
BACKUP DATABASE sr_hub SNAPSHOT sr_hub_20240317
TO test_repo;
验证是否备份成功,备份是异步备份,需等备份完成后才能显示OK
mysql> SHOW SNAPSHOT ON test_repo;
+-----------------+-------------------------+--------+
| Snapshot | Timestamp | Status |
+-----------------+-------------------------+--------+
| sr_hub_20250317 | 2025-03-17-14-45-53-143 | OK |
+-----------------+---------------------------+------+
1 rows in set (0.10 sec)
如果不显示OK,可以通过 SHOW BACKUP 语句查看备份作业状态,或通过 CANCEL BACKUP 语句取消备份作业。
官方地址:https://docs.starrocks.io/zh/docs/sql-reference/sql-statements/backup_restore/SHOW_BACKUP/
mysql> SHOW BACKUP FROM test \G;
*************************** 1. row ***************************
JobId: 5654170
SnapshotName: sr_hub_20250317
DbName: sr_hub
State: FINISHED
BackupObjs: [sr_hub.access_people_online], [sr_hub.device_key_data]
CreateTime: 2025-03-17 00:00:02
SnapshotFinishedTime: 2025-03-17 00:00:37
UploadFinishedTime: 2025-03-17 00:33:07
FinishedTime: 2025-03-17 00:33:41
UnfinishedTasks:
Progress:
TaskErrMsg:
Status: [OK]
Timeout: 86400
1 row in set (0.00 sec)
备份作业当前所在阶段:
- PENDING:作业初始状态。
- SNAPSHOTING:正在进行快照操作。
- UPLOAD_SNAPSHOT:快照结束,准备上传。
- UPLOADING:正在上传快照。
- SAVE_META:正在本地生成元数据文件。
- UPLOAD_INFO:上传元数据文件和本次备份作业的信息。
- FINISHED:备份完成。
- CANCELLED:备份失败或被取消。
4.备份分区(增量备份)
4.1、查看分区ID
备份分区前,要确定表已经按分区来存储数据了,否则将不支持备份分区
示例:查看sr_hub库中的device_key_data分区
SHOW PARTITIONS FROM sr_hub.device_key_data;
执行结果:如果PartitionName列不是以 p日期 开头的,则表大概率没开启分区,不支持备份分区
+-------------+---------------+----------------+---------------------+--------------------+--------+--------------+------------------------------------------------------------------------------------------------------+----------------------------+---------+----------------+---------------+---------------------+--------------------------+----------+------------+----------+-------------+--------------------+----------------+
| PartitionId | PartitionName | VisibleVersion | VisibleVersionTime | VisibleVersionHash | State | PartitionKey | Range | DistributionKey | Buckets | ReplicationNum | StorageMedium | CooldownTime | LastConsistencyCheckTime | DataSize | IsInMemory | RowCount | DataVersion | VersionEpoch | VersionTxnType |
| 5654248 | p20250317 | 2234 | 2025-03-17 14:40:54 | 0 | NORMAL | device_time | [types: [DATETIME]; keys: [2025-03-17 00:00:00]; ..types: [DATETIME]; keys: [2025-03-18 00:00:00]; ) | device_time, device_number | 2 | 1 | HDD | 9999-12-31 23:59:59 | NULL | 76.2MB | false | 9215872 | 2234 | 344570509234536449 | TXN_NORMAL |
......
4.2、备份分区
-- 自 v3.4.0 起支持。
BACKUP DATABASE sr_hub SNAPSHOT sr_hub_20240317
TO test_repo
ON (TABLE sr_hub.device_key_data PARTITION (p20250317));
恢复StarRocks数据库
从快照还原数据时,必须指定快照的时间戳。数据恢复为异步操作可以通过 SHOW RESTORE 语句查看恢复作业状态,或通过 CANCEL RESTORE 语句取消恢复作业。
官方地址:https://docs.starrocks.io/zh/docs/sql-reference/sql-statements/backup_restore/SHOW_RESTORE/
恢复作业当前所在阶段:
- PENDING:作业初始状态。
- SNAPSHOTING:正在进行本地新建表的快照操作。
- DOWNLOAD:正在发送下载快照任务。
- DOWNLOADING:快照正在下载。
- COMMIT:准备生效已下载的快照。
- COMMITTING:正在生效已下载的快照。
- FINISHED:恢复完成。
- CANCELLED:恢复失败或被取消。
1、获取快照时间戳
mysql> SHOW SNAPSHOT ON test_repo;
+------------------+-------------------------+--------+
| Snapshot | Timestamp | Status |
+------------------+-------------------------+--------+
| sr_hub_20240317 | 2025-03-17-14-45-53-143 | OK |
+------------------+-------------------------+--------+
1 row in set (1.16 sec)
2、恢复数据库
以下示例将快照 sr_hub_20240317 中的数据库 sr_hub 还原到目标群集中的数据库 sr_hub。如果快照中不存在该数据库,系统将返回错误。如果目标群集中不存在该数据库,系统将自动创建该数据库。
-- 自 v3.4.0 起支持。
RESTORE SNAPSHOT sr_hub_20240317
FROM test_repo
DATABASE sr_hub
PROPERTIES(
"backup_timestamp" = "2025-03-17-14-45-53-143",
"replication_num" = "1" -- 默认副本数为3 如果是单机要指定为1 否则恢复会报错
);
3、恢复分区
以下示例将快照 sr_hub_20240317 中数据库 sr_hub 下的表 device_key_data 的分区 p20250317 恢复到目标群集中数据库 sr_hub 下的表 device_key_data 的分区 p20250317 中。
-- 自 v3.4.0 起支持。
RESTORE SNAPSHOT sr_hub_20240317
FROM test_repo
DATABASE sr_hub
ON (TABLE device_key_data PARTITION (p20250317))
PROPERTIES (
"backup_timestamp" = "2025-03-17-14-45-53-143",
"replication_num" = "1"
);
4、验证是否恢复成功
StarRocks:SHOW RESTORE \G;
*************************** 1. row ***************************
JobId: 11010
Label: sr_hub_20240317
Timestamp: 2025-03-17-14-45-53-143
DbName: sr_hub
State: FINISHED -- 恢复完成
AllowLoad: false
ReplicationNum: 1
.................................
.................................
.................................
使用快照跨集群迁移数据
前提条件
- 有一台能正常工作的StarRocks服务
1、创建仓库
在新机器中创建仓库,需要注意的是;新机器中的创建仓库指令要和旧机器的创建仓库指令一致。否则会查不到快照信息
CREATE REPOSITORY test_repo
WITH BROKER
ON LOCATION "s3://starrocks/test_bak"
PROPERTIES(
"aws.s3.access_key" = "StarRocks",
"aws.s3.secret_key" = "Sec@2024",
"aws.s3.endpoint" = "http://10.84.91.10:9000"
);
2. 验证是否创建成功
mysql> SHOW REPOSITORIES;
+---------+----------------------------+---------------------+------------+-------------------------------------------+--------+--------+
| RepoId | RepoName | CreateTime | IsReadOnly | Location | Broker | ErrMsg |
+---------+----------------------------+---------------------+------------+-------------------------------------------+--------+--------+
| 4561972 | test_repo | 2025-03-17 10:06:06 | false | s3://starrocks/test_bak | | NULL |
+---------+----------------------------+---------------------+------------+-------------------------------------------+--------+--------+
1 rows in set (0.00 sec)
验证时的创建信息也会和旧机器的日期一致
3、恢复数据库
以下示例将快照 sr_hub_20240317 中的数据库 sr_hub 还原到目标群集中的数据库 sr_hub。如果快照中不存在该数据库,系统将返回错误。如果目标群集中不存在该数据库,系统将自动创建该数据库。
-- 自 v3.4.0 起支持。
RESTORE SNAPSHOT sr_hub_20240317
FROM test_repo
DATABASE sr_hub
PROPERTIES(
"backup_timestamp" = "2025-03-17-14-45-53-143",
"replication_num" = "1" -- 默认副本数为3 如果是单机要指定为1 否则恢复会报错
);
4、验证是否恢复成功
StarRocks:SHOW RESTORE \G;
*************************** 1. row ***************************
JobId: 11010
Label: sr_hub_20240317
Timestamp: 2025-03-17-14-45-53-143
DbName: sr_hub
State: FINISHED -- 恢复完成
AllowLoad: false
ReplicationNum: 1
.................................
.................................
.................................
仅登录用户可评论,点击 登录