RocketMQ 4.9.8 单机安装指南(CentOS 7.9)

CentOS 运维避坑实战

CentOS7.9 安装 Python3.8.16 后 yum 报错,快速修复方案

摘要:本文详细介绍了在 CentOS 7.9 系统上安装 RocketMQ 4.9.8 单机版的完整流程。内容涵盖环境准备(Java 环境、系统要求)、RocketMQ 下载与解压、NameServer 和 Broker 的配置方法、服务启动步骤、安装验证(进程检查、管理工具使用、消息测试)以及常见问题处理。按照本文步骤操作,可快速搭建一个可用的 RocketMQ 单机环境,适用于开发测试和学习场景。

目录

1. 环境准备

2. 下载 RocketMQ

3. 配置 RocketMQ

3.1 配置 NameServer

3.2 配置 Broker

4. 启动 RocketMQ 服务

4.1 启动 NameServer

4.2 启动 Broker

5. 验证安装

5.1 检查进程

5.2 使用管理工具(可选)

5.3 发送和接收测试消息

6. 常见问题与注意事项

7. 总结


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

注意:请将 brokerIP1namesrvAddr为必须配置,其他配置可以默认。同时,创建存储目录:

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.shrunbroker.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 单机环境,用于开发测试或学习。对于生产环境,请务必参考官方文档进行集群部署和高可用配置。

CentOS 运维避坑实战

CentOS7.9 安装 Python3.8.16 后 yum 报错,快速修复方案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值