StarRocks故障恢复 - 单副本表恢复

本文介绍了在StarRocks中如何恢复单副本表的故障。当用户错误地对BE节点进行下线操作导致副本缺失时,如果数据未被删除,可以将下线机器的数据目录复制到集群其他节点恢复。恢复过程包括复制存储目录和元数据,然后在新节点上执行恢复命令。然而,单副本存在恢复风险,推荐创建3副本以保证高可用。下线BE节点时,推荐使用DECOMMISSION而非DROP。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

如果一个表为单副本表(虽然这并并不推荐,一般推荐为3副本以保证tablet的高可用),此时用户忽略了这个问题,对be进行了下线的操作:

MySQL> alter system drop backend "be_host:be_heartbeat_service_port";

此时会导致查询时,报找不到tablet的错误:

10063这个tablet在相应的be被drop掉之后造成副本缺失。此时如果下线的机器上数据仍然存在的话是可以恢复的。当然,如果机器下线后数据被删除了,那就只能重新导入数据了。

恢复方法

在已下线的be的storage_root_path配置的目录中找到10063对应的存储目录:

$ ls $storage_root_path/data/*/ | grep 10063

假设路径为:$storage_root_path/data/0/10063/81944231/

获取对应的元数据:

$ export STARROCKS_HOME=[path]
$ export LD_LIBRARY_PATH=$STARROCKS_HOME/lib/jvm/amd64/server:$STARROCKS_HOME/lib/jvm/amd64:$LD_LIBRARY_PATH
$./lib/meta_tool --operation=get_meta --root_path=hdfs/d7/dorisdb/data --tablet_id=10063 --schema_hash=8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值