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

执行安装命令
安装maven插件
1. 下载压缩包:

2. 上传到linux的/usr/local目录
3. 解压文件
5. 配置环境变量
5. 刷新环境变量
6. 检查版本

编译rocketmq
在rocketmq目录下执行
mvn -Prelease-all -DskipTests clean install -U 如图
编译后的文件在
/usr/local/rocketmq-all-4.7.1/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1目录下
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 显示内存不足

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