【求助】为什么任务会在一个不存在的backendid上执行?

Viewed 6

执行一个简单的插入sql,doris报错:tablet 28031 alive replica num 0 < load required replica num 1, alive backends:[]

然后我通过:show tablet 28031,
再通过DetailCmd:SHOW PROC '/dbs/28004/28029/partitions/28028/28030/28031';

发现该任务执行的BackendId=26002,但此时show PROC '/backends';根本就不是26002,现在是29009。

相当于在一个不存在的be节点上跑任务?

求助怎么解决这个问题。

1 Answers

确定几个点:

  1. 具体是2.1 的版本号
  2. 之前是否有缩减过BE节点
  3. show tablet 28031 =》 SHOW PROC '/dbs/28004/28029/partitions/28028/28030/28031'; 看到这个tablet是在哪个BE节点上,可以截图看下的。

我有个怀疑的点,可以在tablet不存在的这个BE节点上对应的be.INFO 的日志看下,grep 28031 be/log/be.INFO 看下这个tablet是不是被移动到trash了。有可能是磁盘使用不均衡导致tablet出现迁移。