rocketMQ版本:rocketmq-all-4.4.0-bin-release
报错信息:
解决方案:
1.调整超时时间
生产者发送消息时,如果不指定超时时间,默认超时时间为3秒:
性能较低或网速较慢时连接rocketMQ可能就要花费三秒以上的时间,所以可以在发送消息时指定超时时间:
2.指定IP启动rocketMQ
rocketMQ官方给出的启动方式:
nohup sh bin/mqbroker -n localhost:9876 &
会发现是内网(localhost)启动,所以应该指定启动时的ip
修改配置文件:
vim /usr/local/rocketMQ/conf/broker.conf
添加以下内容:
brokerIP1=外网ip
namesrvAddr=外网ip1:9876
关闭broker:
sh /usr/local/rocketMQ/bin/mqshutdown broker
重新以新的配置启动broker
nohup sh /usr/local/rocketMQ/bin/mqbroker -n 外网IP:9876 -c /usr/local/rocketMQ/conf/broker.conf &
3.防火墙问题
阿里云的机器要开放安全组:9876,10911,10909
同时linux要开放端口,9876为例:
firewall-cmd --add-port=9876/tcp --permanent
firewall-cmd --reload
至此,问题解决