Centos9安装rocketmq

准备工作

安装 Java 环境:RocketMQ 需要 Java 运行环境(JDK 1.8 或更高版本)。

bash 复制代码
sudo dnf install -y java-17-openjdk-devel  # 或者 java-1.8.0-openjdk-devel
java -version  # 验证安装

防火墙配置:如果系统防火墙开启,需开放 RocketMQ 相关端口。

bash 复制代码
sudo firewall-cmd --permanent --add-port=9876/tcp  # Nameserver 默认端口
sudo firewall-cmd --permanent --add-port=10909/tcp --add-port=10911/tcp  # Broker 默认端口
sudo firewall-cmd --reload
# 如需后续使用控制台,还需开放其端口(如 8080)

二进制包安装(推荐用于生产环境)

下载并解压 RocketMQ : 访问 RocketMQ 下载页面 获取最新的二进制包下载链接。

bash 复制代码
wget https://archive.apache.org/dist/rocketmq/5.0.0/rocketmq-all-5.0.0-bin-release.zip  # 请替换为最新版本
unzip rocketmq-all-5.0.0-bin-release.zip
cd rocketmq-all-5.0.0-bin-release

调整 JVM 堆内存参数(重要!) : RocketMQ 默认配置的 JVM 堆内存较大(例如 4GB),如果你的服务器内存资源不充足,务必修改 bin/runserver.shbin/runbroker.sh 中的相关参数,以避免内存不足无法启动。

  • 修改 runserver.sh (NameServer 和 Broker 的启动脚本):
bash 复制代码
# 查找并修改 JAVA_OPT 中的 -Xms, -Xmx, -Xmn 等参数
# 例如,设置为 256m:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"

修改 runbroker.sh (Broker 的启动脚本):

bash 复制代码
# 同样修改 JVM 堆内存参数,例如:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"

配置 Broker : 编辑 conf/broker.conf 文件,根据你的网络环境进行关键配置:

bash 复制代码
# 设置 NameServer 的地址,如果有多个用分号分隔
namesrvAddr=localhost:9876
# 设置 Broker 对外服务的 IP 地址。如果客户端不在本机,需设置为服务器公网 IP 或内网 IP
brokerIP1=你的服务器IP
# 允许自动创建 Topic(通常建议开发环境开启,生产环境谨慎使用)
autoCreateTopicEnable=true

启动 NameServer 和 Broker

启动 NameServer

bash 复制代码
# 先创建logs/namesrv.log,然后授权chmod 777 logs/namesrv.log,然后在启动mqnamesrv
nohup sh bin/mqnamesrv >> logs/namesrv.log 2>&1 &
tail -f logs/namesrv.log  # 查看日志,确认 "The Name Server boot success"

启动 Broker(指定配置文件):

bash 复制代码
# 先创建logs/broker.log,然后授权chmod 777 logs/broker.log,然后在启动mqbroker
nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf >> logs/broker.log 2>&1 &
tail -f logs/broker.log  # 查看日志,确认 "The broker[...] boot success"

注意 :如果 Broker 无法连接到 NameServer 或客户端无法连接 Broker,请务必检查 broker.conf 中的 brokerIP1 和防火墙设置

测试消息发送与消费: RocketMQ 提供了简单的测试工具。

bash 复制代码
# 设置 NameServer 地址环境变量
export NAMESRV_ADDR=localhost:9876
​
# 测试消息发送
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
# 你应该能看到发送成功的日志
​
# 测试消息消费
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
# 你应该能看到消费到的消息

停止服务

bash 复制代码
sh bin/mqshutdown broker
sh bin/mqshutdown namesrv
相关推荐
Rick199316 小时前
rabbitmq, rocketmq, kafka这三种消息如何分别保住可靠性,顺序性,以及应用场景?
kafka·rabbitmq·rocketmq
有梦想的小何1 天前
从0到1搭建可靠消息链路:RocketMQ重试 + Redis幂等实战
java·redis·bootstrap·rocketmq
鬼先生_sir2 天前
SpringCloud-Stream + RocketMQ/Kafka
spring cloud·kafka·rocketmq·stream
小江的记录本7 天前
【RocketMQ】RocketMQ核心知识体系全解(5大核心模块:架构模型、事务消息两阶段提交、回查机制、延迟消息、顺序消息)
linux·运维·服务器·前端·后端·架构·rocketmq
__土块__7 天前
一次支付清结算系统线程池故障复盘:从任务积压到异步解耦的架构演进
java·消息队列·rocketmq·线程池·支付系统·故障复盘·异步架构
-南帝-9 天前
RocketMQ2.3.5+SpringBoot 3.2.11+ java17安装-集成-测试案例
java·spring boot·rocketmq
zs宝来了9 天前
RocketMQ 存储原理:CommitLog 与 ConsumeQueue 设计
rocketmq·存储·commitlog·consumequeue
饺子大魔王的男人10 天前
Linux 下 Apache RocketMQ 部署与公网访问实现指南
linux·apache·rocketmq
qq_40999093?14 天前
消息中间件:RabbitMQ、RocketMQ、Kafka快速上手
kafka·rabbitmq·rocketmq
羑悻的小杀马特16 天前
从入门到稳定运行:RocketMQ 5.3.4 单机版安装与开机自启配置详解
运维·服务器·rocketmq