欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【RocketMq】自己RocketMq的踩坑记录

程序员文章站 2022-07-15 07:58:02
...

今天在项目中,rocketmq死活发送不成功,一开始是no route info of this topic
后边又是sendDefaultImpl call timeout,忙活了一晚上,好在最后解决了。

1、首先估计很多人遇到过这个问题,nameserver启动失败

这个是因为rocketmq默认分配的内存很大,是8G还是多少来着我忘了,如果我们的服务器没有这么大内存的话则需要修改一下,步骤如下:
【RocketMq】自己RocketMq的踩坑记录
在mqnamesrv.xml里修改一下默认的内存大小,根据自己情况修改
【RocketMq】自己RocketMq的踩坑记录
然后是runbroker.sh中也有需要修改的,也是根据自己情况改
【RocketMq】自己RocketMq的踩坑记录

2、创建topic时失败

我参考 创建topic失败 这篇文章找到了解决方法,再次感谢博主
就是在rocketmq的bin目录下的tools.sh文件下的

JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${BASE_DIR}/lib:${JAVA_HOME}/jre/lib/ext

后边加上自己java环境下的ext文件的绝对路径,如果不知道自己java安装在哪的可以用whereis java命令查看,如
【RocketMq】自己RocketMq的踩坑记录

3、sendDefaultImpl call timeout的问题

参考的这位博主的 文章 再次感谢博主
nameserver跟broker启动时都要带上自己服务器的公网ip,不能用localhost
如:nohup ./bin/mqnamesrv -n 你的公网IP:9876 &

nohup sh bin/mqbroker -n 你的公网IP:9876 -c conf/broker.conf autoCreateTopicEnable=true &

在启动broker前需要在conf/broker.conf 中 加入 brokerIP1=你的公网IP

相关标签: RocketMq