RocketMQ4.4.x云服务器坑记

1.坑一(sendDefaultImpl call timeout)

org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException:sendDefaultImpl call timeout	

本地springboot发送消息有如上报错
原因: 阿里云存在多网卡,rocketMQ都会根据当前网卡选择ip使用,当你的机器有多块网卡时,很有可能会有问题。比如,我的机器有两个ip,一个公网ip,一个私网ip,因此需要配置broker.conf 指定当前的公网ip,然后重新启动broker
新增配置路径: /usr/local/rocketmq4.4/distribution/target/apache-rocketmq/conf/broker.conf(这个是我在服务器上的路径)
新增配置内容: brokerIP1=xxx.xxx.xxx.xxx(这里配置为你rocketMQ的公网ip)
启动命令: nohup sh bin/mqbroker -n localhost:9876 -c ./conf/broker.conf &

2.坑二(No route info of this topic, TopicTest1)

MQClientException: No route info of this topic, TopicTest1

本地springboot发送消息有如上报错
原因: Broker禁止自动创建topic,且用户没有通过手工的方式创建 发送指定topic,或者broker和nameserver网络不通
解决: 到控制台手工创建相应topic

3.坑三(connect to ip:端口 filed)

进入控制台发现右上角有个这样的提示:

org.apache.rocketmq.remoting.exception.connect to <x.x.x.x:xxx> failed

在这里插入图片描述
原因: 于是就想到可能是配置公网ip后需要开放端口号。
解决: 于是去安全组中配置规则加入10909这个端口号,再刷新页面就正常了,cluster也正常显示了。

4.坑四(close the connection to remote )

#设置名称服务器地址
export NAMESRV_ADDR=localhost:9876
#投递消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

发现在服务器中执行之前通的消息投递出现异常了,异常如下:

17:30:44.722 [NettyClientSelector_1] INFO  RocketmqRemoting - closeChannel: close the connection to remote address[] result: true

此时我发现之前更改的broker启动时会有一个成功提示类似如下:
在这里插入图片描述
原因: 我猜测其中原因就是原本为内网调用,配置了公网ip后是走的公网,所以将端口号开放才可以测通。
解决: 于是我就在安全组规则中添加这个10911端口,将其开放,然后就可以测通了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值