StarRocks 表无法查询写入,tablet 状态为 DEAD 和 VERSION_ERROR

为了更快的定位您的问题,请提供以下信息,谢谢
【详述】随着数据量激增,数据写入事务超时,查询报错 OlapScanNode fail scan info is invalid,表不可用
SHOW PROC '/statistic/<DbId>' 可以看到不健康的 tablet 数量为 145,然后停掉所有写入后,执行手动恢复。

ADMIN REPAIR TABLE table_name;

执行后等了几个小时之后发现不健康的 Table 数量降到了90,等到了昨天晚上降到了 60,今天早晨发现是 59,基本上恢复不动,Table 大部分状态都是 VERSION_ERROR。
所以想问下这种情况怎么手动恢复,或者能否删除这些 tablet 先恢复数据表可用? 谢谢
【背景】数据量比往常大
【业务影响】无法写入和查询
【是否存算分离】否
【StarRocks版本】3.2.8
【集群规模】3fe(1 follower+2observer)+6be(follower fe 独享,observer与be混部)
【机器信息】CPU 鲲鹏920 ARM 96核/内存 256G/网卡万兆
【联系方式】
【附件】

看下什么原因无法修复了

ADMIN SHOW REPLICA STATUS FROM db.table WHERE STATUS != “OK”;

SHOW PROC ‘/cluster_balance/history_tablets’;

第一个命令 State 是 NORMAL,status 是 VERSION_ERROR


第二个命令状态:

我也遇到了类似的问题。。。我这是杀掉leader fe,重启后恢复了

哈哈,万能的重启大法

尝试过重启,可以少一些,但是到最后又不动了。
最后没办法只能把这些 Tablet 给丢弃掉了。

。。。我最近也是频发。。。leader 死掉后,就会这样。。。

有没有好的解决办法?我看集群的负载也不是很高。。就是偶尔,fe leader会死掉。

几个 Leader?

3个fe,一个leader,有时候会假死,没法写入,没法查询,直接报错,leader 连不上。

可以试下别用 FE 高可用,稳定性不好。可以配置 1 个 Leader FE + 2 Observer,类似于主从架构,这样会更稳定一些,这种方式我们线上尝试了稳定性有很大的提升。
另外 Leader FE 最好单独一个节点,和 BE 在一块很容易资源被 BE 耗尽,导致 FE 无响应。如果在一个机器上可以用 CGroup 或者 Docker 运行限制下 BE 的 CPU 和内存,FE 和 BE 的数据目录不要配到同一块盘,否则元数据写入也会受到影响。

感谢,我下周跟领导商量下,加机器,把be迁走,去掉多余的follwer,