报错:[2024-02-19T18:25:04.642] DynamicError(code=893250, msg=SQL执行异常: errCode = 2, detailMessage = 678910 have no queryable replicas. err: 678911’s backend 10004 does not exist or not alive, httpCode=200, responseBody=null, cause=null) SQL执行异常: ERRCODE = 2, DETAILMESSAGE = 678910 HAVE NO QUERYABLE REPLICAS. ERR: 678911’S BACKEND 10004 DOES NOT EXIST OR NOT ALIVE
处理方式:
这个错误表明在执行SQL查询时,出现了无法查询的副本错误。这通常是因为相应的副本无法被查询,通常是因为BE(后端)宕机或者副本丢失。你可以通过执行show tablet tablet_id语句来查看与该tablet对应的副本信息,并检查副本是否完整。同时,你也可以通过show proc "/cluster_balance"命令来查询集群中副本调度和修复的进度信息。如果需要管理数据副本的相关命令,请参考数据副本管理文档。
另外,你还可以尝试执行show backends/frontends语句来查看后端/前端的信息,但是如果集群有多个FE(前端)节点,可能会出现信息不完整的情况。在这种情况下,你可以在执行这些语句之前,先执行set forward_to_master=true;来将会话变量设置为true,以便自动将后续执行的信息查找语句转发到主FE节点,从而获取完整的结果。
最后,如果出现了集群ID无效的错误,通常是因为Master FE发送的心跳信息中的集群ID与本地存储的集群ID不一致,导致拒绝响应心跳。你需要确保所有节点都在正确的集群中,然后尝试修改FE节点中metadata目录下的image/VERSION文件中的集群ID值,并重启FE节点。对于BE节点,你可以尝试删除数据目录中的所有cluster_id文件,并重启BE节点。