在按照RocketMQ官网(http://rocketmq.apache.org/docs/simple-example/)案例学习RocketMQ时,采了很多坑,记录下来,分享给小伙伴们。

前提:

     在Linux分别运行成功地运行了NameServer和broker

问题描述:

     分别启动了Name Server和Broker。然后运行http://rocketmq.apache.org/docs/simple-example/中的Consumer,再运行SyncProductor.结果报错.

问题现象:

Caused by: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to 172.17.42.1:10911failed

 

报错截图:

解决问题之路

 先是看源码,发现没啥问题,那肯定是配置的问题。然后去检查了一遍配置,和官网一模一样。最后无奈只能翻博客,足足找了半天博客,博客上的方案都试了一遍,没有起到效果,打算放弃之前,又死磕了半天,终于找到了一个博客解决了我的问题。博客的截图:

 

最终解决方案

博客地址:https://blog.csdn.net/qq_14853889/article/details/81053145

根据博客,即在Linux启动broker的指令中,需要指定broker.conf文件(目前只有这篇博客提到了这一点)。修改后的指令如下(192.168.44.129:9876是我的ip,你们要换成你们自己的啊):

nohup sh bin/mqbroker -n 192.168.44.129:9876  -c conf/broker.conf autoCreateTopicEnable=true &

注意:

另外需要值得一提的是:在broker.conf中要加上brokerIP1=name server的ip地址(就是你Linux的iP地址)。

broker.conf的具体详情如下所示:

 

  果然,按照博客中的修改后,重新启动broker,再次分别运行Consumer和Producer时,控制台可以看到消息生产和消费的日志了。

 

参考博客

感谢这位大佬的分享。

https://blog.csdn.net/qq_14853889/article/details/81053145

感悟

1.后续还是会继续关注这个问题。因为发现大家的问题一直,但是解决方案五花八门,这究竟是为什么呢?版本不同引起的吗?

2.最后希望官网在分享技术时能更细致,更详细(这个问题很多人遇到了)。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐