RcoketMQ连接时报错sendDefaultImpl call timeout解决

代码是这样:

RcoketMQ连接时报错sendDefaultImpl call timeout解决_第1张图片

报错是这样的:

image-20201124235310543

这报个错啥也不说清楚,真的牛批。

解决过程:

  • 上网搜sendDefaultImpl call timeout,然后要看什么broker有没有注册到name server上啊,改配置文件啊,开端口啊,开了9876和10911,但是都没有解决。
  • 然后我想是不是需要多给rocketmq一点耐心,于是我就在send的时候加了等待时间。

image-20201124235929582

  • 虽然问题没解决,当时报错缺说明了原因:好像是需要连10909端口,为什么要连10909端口啊???!!!

RcoketMQ连接时报错sendDefaultImpl call timeout解决_第2张图片

  • 然后打开了10909端口,竟然就成功了,真是奇妙。

启动过程:

  • 开放端口 9876 10911 10909

  • 来到rocketmq的bin目录下启动 :./mqnamesrv -n “192.168.147.11:9876”

  • 改conf目录下的broker.conf: RcoketMQ连接时报错sendDefaultImpl call timeout解决_第3张图片

  • namesrvAddr=192.168.147.11:9876 
    brokerIP1=192.168.147.11
    autoCreateTopicEnable=true
    
  • 来到rocketmq的目录下启动 :./bin/mqbroker -n 192.168.147.11:9876 -c conf/broker.conf

这个rocketmq真是太牛批了,我真搞不懂为什么要开10909。

过了几个月,发现了原因:
tocketmq除了开10909(listenPort)以外,还会有2个端口根据listenPort动态计算出来的。这三个端口由Broker内部不同的组件使用,作用分别如下:

remotingServer:监听listenPort配置项指定的监听端口,默认10911
fastRemotingServer:监听端口值listenPort-2,即默认为10909
HAService:监听端口为值为listenPort+1,即10912,该端口用于Broker的主从同步

你可能感兴趣的:(消息队列,消息队列)