1. sendDefaultImpl call timeout
1.1 broker配置问题
没有配置brokerIP地址,导致从 RocketMQ 的 NameServer 获取到的broker ip错误,在 conf 目录下设置broker
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
aclEnable=true
namesrvAddr=192.x.x.x:9876
brokerIP1=192.x.x.x
autoCreateTopicEnable=true
#设置链接broker的端口
listenPort=10911
1.2 链接 rocketmq 服务的超时时间设置短了
把超时时间设置长一些
producer.setSendMsgTimeout(6000);
2. connect to ip:10909 failed
Rocket默认开启了VIP通道,VIP通道端口为10911-2=10909。若Rocket服务器未启动端口10909,则报connect to ip:10909 failed。
设置不使用VIP通道即可
producer.setVipChannelEnabled(false);
3. 开启ACL后客户端连接报Algorithm HmacSHA1 not available
参考
这个问题其实是服务器端缺少 sunjce_provider.jar 这个jar包,跟我们链接的客户端没有关系
解决办法:
- 到jdk目录下 /jre/lib/ext/ 找到 sunjce_provider.jar,复制到 rocketmq/lib 目录中,重启broker。
4. SQL过滤
使用SQL过滤消息时,要在broker.conf中添加
enablePropertyFilter=true
对SQL的支持