Linux 安装和部署rocketmq

RocketMQ 是阿里巴巴开源的分布式消息中间件。支持事务消息、顺序消息、批量消息、定时消息、消息回溯等。它里面有几个区别于标准消息中件间的概念,如Group、Topic、Queue等。系统组成则由Producer、Consumer、Broker、NameServer等。

特点:

  • 是一个队列模型的消息中间件,具有高性能、高可靠、高实时、分布式等特点
  • Producer、Consumer、队列都可以分布式
  • Producer 向一些队列轮流发送消息,队列集合称为 Topic,Consumer 如果做广播消费,则一个 Consumer 实例消费这个 Topic 对应的所有队列,如果做集群消费,则多个 Consumer 实例平均消费这个 Topic 对应的队列集合
  • 能够保证严格的消息顺序
  • 支持拉(pull)和推(push)两种消息模式
  • 高效的订阅者水平扩展能力
  • 实时的消息订阅机制
  • 亿级消息堆积能力
  • 支持多种消息协议,如 JMS、OpenMessaging 等
  • 较少的依赖

安装步骤:

获取下载链接

https://github.com/apache/rocketmq/releases 点击下方Assets查看对应的版本,右键获取复制链接地址,得到https://github.com/apache/rocketmq/archive/rocketmq-all-4.7.1.tar.gz
notion image

执行安装命令

安装maven插件

1. 下载压缩包:
notion image
2. 上传到linux的/usr/local目录
3. 解压文件
5.  配置环境变量
5. 刷新环境变量
6. 检查版本
notion image

编译rocketmq

在rocketmq目录下执行 mvn -Prelease-all -DskipTests clean install -U 如图
notion image
编译后的文件在/usr/local/rocketmq-all-4.7.1/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1目录下
notion image
 

rocketmq相关命令

启动namesrv服务: nohup sh bin/mqnamesrv > /data/mq/rocketmq/nameserver.log 2>&1 &
启动broker服务:nohup sh bin/mqbroker -n 127.0.0.1:9876 -c conf/broker.conf autoCreateTopicEnable=true > /data/mq/rocketmq/broker.log 2>&1 &
jps (查看启动信息)
关闭namesrv服务:sh bin/mqshutdown namesrv
关闭broker服务 :sh bin/mqshutdown broker
 

问题记录

启动broker失败,查看日志nohup.out 显示内存不足
notion image
这是因为 /bin 目录下启动 nameserv 与 broker 的 runbroker.sh 和 runserver.sh 文件中默认分配的内存太大,而系统实际内存却太小导致启动失败。解决办法就是修改runbroker.sh 和 runserver.sh里的内存配置,调小一些即可。
runserver.sh
runbroker.sh
 

© ljl 2021 - 2026