由于初学RocketMQ,所以对于很多配置都是摸不清头脑,出错以后就会很迷茫,因为到底是在哪个地方出错真的一点都不清楚,我相信很多初学的小伙伴都是和我一样吧!
今天在这里记录一下的出错过程和我的解决过程。
我是刚在阿里云的服务器上安装了RocketMQ,然后跟着RocketMQ的官网启动了一下nameserver还有mqbroker,还没有进行配置,所以编写完java程序后,直接运行后显示:
org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout
后来在网上看了很多博客,也都实验了一番,但是都是没有好,直到找到了这一篇博客:
- 第一步:首先来到rocketmq目录下,修改conf文件夹下broker.conf 文件当中的配置
vim conf/broker.conf
来到配置文件后在文件最后加上如下配置:
brokerIP1=101.200.xxx.xxx #这里的ip地址修改成自己服务器的ip地址
autoCreateTopicEnable=true
- 第二步:如果正在运行mqnamesvr还有mqbroker的话,需要先shutdown它们
#停止broker,这里是在rocketmq目录下,不是在bin目录下
sh bin/mqshutdown broker
#停止namesvr
sh bin/mqshutdown namesrv
- 第三步:重新运行mqnamesvr和mqbroker
#后台启动namesvr,这里的IP地址记得更换为自己的服务器
nohup sh bin/mqnamesrv -n "101.200.xxx.xxx:9876" &
#后台运用刚刚更改的配置文件启动mqbroker
nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf autoCreateTopicEnable=true &
这些步骤做完之后在运行一下程序估计就不会有什么大问题了!当然以上都是建立在你的程序没有问题的基础上!