RocketMQ的装置与启动(基于Linux与JDK1.8)

下载我的项目

首先Java工程抉择对应的RocketMQ版本,具体参考以下两图:

  • 举例:SpirngCloudAlibabaVersion为2.2.9RELEASE,MQ则抉择4.9.4版本。
  • 举例:如果是SpringBoot我的项目,如我的SpringBoot我的项目为2.2.3版本,对应SpirngCloudAlibaba为2.2.0RELEASE,MQ则抉择4.4.0版本。
  • 确定版本后到官网下载(版本号自行批改):https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.9.3/
  • 装置

    解压并批改启动配置

  • 将下载好的ZIP文件在提前创立好的文件夹上unzip命令解压缩。
  • 赋权操作:执行chmod 777 /rocketmq-all-5.1.2-bin-release/*
  • 因为默认启动配置应用内存较大,对其进行批改。
  • 启动

    启动namesrv(默认9876端口)

  • 进入门路 cd bin/
  • 后盾启动 nohup sh mqnamesrv &
  • 查看日志确认是否启动胜利 tail -f ~/logs/rocketmqlogs/namesrv.log
  • 也能够通过端口查看 netstat -an|grep 9876
  • 敞开命令sh mqshutdown namesrv

    启动broker(默认10911端口)

  • 进入门路 cd bin/
  • 后盾启动 nohup ./mqbroker -n localhost:9876 &
  • 查看日志确认是否启动胜利 tail -f ~/logs/rocketmqlogs/broker.log
  • 敞开命令sh mqshutdown broker

    测试

    # 申明一个 namesrv 的地址export NAMESRV_ADDR=localhost:9876# 发送音讯./tools.sh org.apache.rocketmq.example.quickstart.Producer# 申明一个 namesrv 的地址export NAMESRV_ADDR=localhost:9876# 接管音讯./tools.sh org.apache.rocketmq.example.quickstart.Consumer

DashBoard的搭建

//可视化页面的搭建


SpringBoot工程接入RocketMQ

//TODO最佳实际


部署投产过程中踩的雷

本机SpringBoot我的项目无奈往近程服务器的RocketMQ发送音讯;

  • 具体报错:Producer无奈发送音讯且Client日志始终打印如下音讯:

    RocketMq closeChannel: close the connection to remote address[] 
  • 解决方案:

    1.Client为Java工程本地启动。2.确认MQ服务与Client版本匹配。3.MQ服务机的9876与10911端口平安组须要凋谢给Clinet的ip,同时MQ服务机能够curl通Client的ip

    本机SpringBoot我的项目无奈生产音讯;

  • 具体报错:本机我的项目Producer往近程服务器MQ发送音讯状态OK,且依据MessageId能够在dashboard查问到音讯,然而本机Client无奈生产到音讯。
  • 解决方案1:

    1.进入dashboard,确认音讯对应的topic下的生产组。2.RocketMQ分为集群模式和播送模式,集群模式下,topic+tag在一个订阅组内只会被其中一个消费者终端生产,须要确认是否有其余消费者终端生产了该音讯。
  • 解决方案2:

    1.近程服务器未创立该topic。2.查看话题列表:sh mqadmin topicList -n 127.0.0.1:98763.在bin门路下执行 ./mqadmin updateTopic -n localhost:9876  -b localhost:10911  -t 你的topic名称4.或应用该命令启动brokernohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true  -c ../conf/broker.conf &

    消费者无奈注册到MQ的话题的订阅组中(//TODO);

  • 如下两图所示:


1.参考文章:https://blog.csdn.net/xhmico/article/details/122938904