问题描述
如果一个表为单副本表(虽然这并并不推荐,一般推荐为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