摘要:本文详细介绍了在 CentOS 7.9 系统上安装 RocketMQ 4.9.8 单机版的完整流程。内容涵盖环境准备(Java 环境、系统要求)、RocketMQ 下载与解压、NameServer 和 Broker 的配置方法、服务启动步骤、安装验证(进程检查、管理工具使用、消息测试)以及常见问题处理。按照本文步骤操作,可快速搭建一个可用的 RocketMQ 单机环境,适用于开发测试和学习场景。
目录
1. 环境准备
在开始安装 RocketMQ 之前,请确保您的 CentOS 7.9 系统满足以下条件:
- 系统版本:CentOS 7.9 64位
- Java 环境:JDK 1.8 或更高版本(推荐 OpenJDK 8)
- 内存:建议至少 2GB 可用内存
- 磁盘空间:至少 10GB 可用空间
- 网络:确保防火墙开放 9876(NameServer 端口)和 10911(Broker 端口)
首先,验证 Java 环境:
java -version
如果未安装 Java,可以使用以下命令安装 OpenJDK 8:
sudo yum install -y java-1.8.0-openjdk-devel
2. 下载 RocketMQ
RocketMQ 4.9.8 的官方二进制包可以从 Apache 镜像站或 GitHub 发布页面下载。
使用 wget 下载(如果系统没有 wget,请先执行 sudo yum install -y wget):
wget https://archive.apache.org/dist/rocketmq/4.9.8/rocketmq-all-4.9.8-bin-release.zip
下载完成后,解压到指定目录:
unzip rocketmq-all-4.9.8-bin-release.zip -d /opt/
cd /opt/rocketmq-all-4.9.8-bin-release
3. 配置 RocketMQ
RocketMQ 单机部署主要需要配置 NameServer 和 Broker。
3.1 配置 NameServer
NameServer 默认配置通常无需修改。如果需要调整 JVM 参数,可以编辑 bin/runserver.sh:
vim bin/runserver.sh
找到 JVM 参数设置行(例如 JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g"),根据机器内存情况调整。对于测试环境,可以设置为:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
3.2 配置 Broker
Broker 的配置文件位于 conf/broker.conf。复制一份示例配置并修改:
cp conf/broker.conf conf/broker-single.conf
vim conf/broker-single.conf
在配置文件中,确保以下关键配置正确(单机模式):
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# NameServer 地址,如果是本机,使用内网 IP 或 127.0.0.1
namesrvAddr = 127.0.0.1:9876
# Broker 监听地址,使用本机 IP
listenPort = 10911
brokerIP1 = 你的本机IP地址
# 存储路径
storePathRootDir = /home/rocketmq/store
storePathCommitLog = /home/rocketmq/store/commitlog
storePathConsumeQueue = /home/rocketmq/store/consumequeue
storePathIndex = /home/rocketmq/store/index
注意:请将 brokerIP1 、namesrvAddr为必须配置,其他配置可以默认。同时,创建存储目录:
sudo mkdir -p /home/rocketmq/store
sudo chmod -R 777 /home/rocketmq/store
同样,如果需要调整 Broker 的 JVM 参数,编辑 bin/runbroker.sh:
vim bin/runbroker.sh
将内存参数调整为适合测试环境的配置,例如:
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"
4. 启动 RocketMQ 服务
4.1 启动 NameServer
进入 RocketMQ 目录,以后台方式启动 NameServer:
nohup sh bin/mqnamesrv > /dev/null 2>&1 &
查看启动日志,确认是否成功:
tail -f ~/logs/rocketmqlogs/namesrv.log
当看到 The Name Server boot success. 日志时,表示 NameServer 启动成功。
4.2 启动 Broker
使用刚才创建的配置文件启动 Broker:
nohup sh bin/mqbroker -c conf/broker-single.conf > /dev/null 2>&1 &
或如果在 Broker 的 config 配置文件中没有配置 Name Server,也可以在 Broker 启动参数中进行指定
nohup sh mqbroker -c ../conf/broker.conf -n 192.168.56.101:9876 autoCreateTopicEnable=true &
查看 Broker 启动日志:
tail -f ~/logs/rocketmqlogs/broker.log
当看到 The broker[broker-a, 你的IP:10911] boot success. 日志时,表示 Broker 启动成功。
5. 验证安装
5.1 检查进程
使用 jps 命令查看 Java 进程:
jps -l
应该能看到类似以下的进程:
xxxxx org.apache.rocketmq.namesrv.NamesrvStartup
xxxxx org.apache.rocketmq.broker.BrokerStartup
5.2 使用管理工具(可选)
RocketMQ 提供了一个控制台(Dashboard)来监控集群状态。您可以单独下载并部署它:
# 下载 RocketMQ Dashboard
wget https://github.com/apache/rocketmq-dashboard/archive/refs/tags/rocketmq-dashboard-1.0.0.zip
unzip rocketmq-dashboard-1.0.0.zip
cd rocketmq-dashboard-1.0.0
# 修改配置文件 src/main/resources/application.properties,设置 namesrvAddr
# 然后使用 Maven 打包运行
mvn clean package -Dmaven.test.skip=true
java -jar target/rocketmq-dashboard-1.0.0.jar
访问 http://服务器IP:8080 即可查看管理界面。
5.3 发送和接收测试消息
RocketMQ 自带了一个简单的测试工具。首先,设置环境变量:
export NAMESRV_ADDR=127.0.0.1:9876
然后,使用以下命令测试消息发送:
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
如果看到 SendResult [sendStatus=SEND_OK, ...] 输出,说明发送成功。
在另一个终端,启动消费者接收消息:
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
如果能看到消费到的消息内容,则证明整个 RocketMQ 单机环境安装成功。
6. 常见问题与注意事项
- 内存不足:如果启动失败并提示内存不足,请检查并调整
runserver.sh和runbroker.sh中的 JVM 参数。 - 端口占用:确保 9876 和 10911 端口未被其他程序占用。可以使用
netstat -tlnp | grep 端口号检查。 - 防火墙:CentOS 7 默认启用 firewalld,生产环境需要开放相关端口,测试环境或者本机开发调试可以直接关闭防火墙:
sudo firewall-cmd --permanent --add-port=9876/tcp sudo firewall-cmd --permanent --add-port=10911/tcp sudo firewall-cmd --reload 关闭防火墙 sudo systemctl stop firewalld 禁止开机启动 sudo systemctl disable firewalld - 存储路径权限:确保 RocketMQ 进程对
/home/rocketmq/store目录有读写权限。 - 停止服务:可以使用以下命令停止服务:
# 停止 Broker sh bin/mqshutdown broker # 停止 NameServer sh bin/mqshutdown namesrv
7. 总结
本文详细介绍了在 CentOS 7.9 系统上单机安装 RocketMQ 4.9.8 的完整步骤,包括环境准备、下载、配置、启动和验证。按照以上步骤操作,您应该能够成功搭建一个可用的 RocketMQ 单机环境,用于开发测试或学习。对于生产环境,请务必参考官方文档进行集群部署和高可用配置。
&spm=1001.2101.3001.5002&articleId=163196868&d=1&t=3&u=3c8d2ecedbf84cd1832fd4c9ee392829)
1523

被折叠的 条评论
为什么被折叠?



