【RocketMq】自己RocketMq的踩坑记录
程序员文章站
2022-07-15 07:58:02
...
今天在项目中,rocketmq死活发送不成功,一开始是no route info of this topic
后边又是sendDefaultImpl call timeout,忙活了一晚上,好在最后解决了。
1、首先估计很多人遇到过这个问题,nameserver启动失败
这个是因为rocketmq默认分配的内存很大,是8G还是多少来着我忘了,如果我们的服务器没有这么大内存的话则需要修改一下,步骤如下:
在mqnamesrv.xml里修改一下默认的内存大小,根据自己情况修改
然后是runbroker.sh中也有需要修改的,也是根据自己情况改
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命令查看,如
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吐血整理
下一篇: Laravel debugbar 调试器