有同学的server和broker在使用jps检查时都已处于启动状态,但还是报以下错误

org.apache.rocketmq.remoting.exception.RemotingConnectException: connection to ip : 10911 failed

这个报错无非是未配置外网地址,打开你的rocketMQ安装地址,找到../conf/broker.conf文件,vim broker.conf:

如上图在结尾处加上这三行代码:

autoCreateTopicEnable=true
namesrvAddr=xxx.xxx.xxx.xxx:9876
brokerIP1=xxx.xxx.xxx.xxx

xxx.xxx.xxx.xxx 替换成你的服务器外网IP(注:大小写别搞错了,可直接复制去用),然后保存文件即可。

接下来是开放端口。

rocketMQ的端口无非是:9876、11011、10911、10909等;反正都开放一遍,重启防火墙;然后检查一遍端口是否已开放完成。

最后重启broker(必须指定到具体的broker.conf文件来启动):

nohup sh mqbroker -n xxx.xxx.xxx.xxx:9876 -c ../conf/broker.conf &

之后就可以正常访问了。

当然了,要是你正常启动生产者、消费者后,报了以下错误:

org.apache.rocketmq.client.exception.MQBrokerException: CODE: 14  DESC: service not available now. It may be caused by one of the following reasons: the broker's disk is full [CL:  1.00 CQ:  1.00 INDEX: -1.00], messages are put to the slave, message store

这无非是你“服务器内存不足”或者“runbroker.sh没配置好”引起的。

首先是runbroker.sh配置,

将第一处的4g和第二处的15g改小些,具体改多大,这个看你自己服务器内存来决定。当然,你也可以按照我的来改就行。

最后还是重启broker,所有问题完美解决。

有不足之处欢迎评论指出,若还是存在其他问题,也可以留言。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐