使用ROUTINE LOAD方式从Kafka导入数据时BE地址报错

【详述】在使用ROUTINE LOAD方式从KAFKA持续导入数据时,出现错误错误中的host地址为其中一台BE
【背景】从3.0版本升级到3.1.4版本并重启BE服务器以后仍旧出现
【StarRocks版本】3.1.4 kafka为2.4版本,使用 SASL_PLAINTEXT 安全协议和 SASL/PLAIN 认证机制
【集群规模】3fe+3be单独部署
【机器信息】至强52核,512G内存
【附件】报错.txt (1.6 KB)

参考 [问题排查]导入失败相关 先排查下

按照说明排查了,说明中涉及ROUTINE LOAD的排查方法比较少,查看ReasonOfStateChanged定位原因为:ErrorReason{errCode = 4, msg=‘Job failed to fetch all current partition with error [failed to send proxy request to TNetworkAddress(hostname:154.111.1.38, port:8060) err failed to send proxy request to TNetworkAddress(hostname:154.111.1.38, port:8060) err [failed to get partition meta: Local: Broker transport failure]]’}
其中154.111.1.38:8060为一个BE的地址,感觉是任务未能发送到BE之类的原因
curl这个BE地址是通的。

按照排查步骤搜下txn id在这个be.INFO里面

捕获

第一张图的ID在be.info里查询没有,说明里的查询查不到tnx id

这个be日志发下,我们看下

不好意思大佬,前2天出差去了,我重现了一遍,把报错和日志发您,报错报错.txt (1.6 KB) 40be.INFO (16.5 MB) 时间11月22日10:22左右

我看到错误里面有一行“failed to get parttion meta:Broker transport failure”
这个跟Broker有关吗?集群只有FE和BE,没有专门弄过Broker

大佬,问题已经解决了,原因是kafka使用了SASL_PLAINTEXT认证,需要账号密码参数,但是之前报错的账号密码中含有"@"符号,之后更换了一个没有“@”符号的账号密码,然后就不报错了。

1赞

哥,我也遇到这个问题,可是我没有@符号啊 :expressionless:咋整啊