RocketMQ 安装教程(本地环境 & 服务器环境)

RocketMQ 安装教程(本地环境 & 服务器环境)

RocketMQ 是阿里巴巴开源的一款高性能、高可靠的分布式消息中间件,适用于大规模分布式系统。本文将详细介绍 RocketMQ 在 本地环境 和 服务器环境 的安装步骤,并提供图文说明。


一、准备工作

1.1 系统要求

  • 操作系统:Linux(推荐 CentOS/Ubuntu)或 Windows(本地开发)
  • Java 环境:JDK 8+(RocketMQ 4.x 版本)
  • 内存:至少 4GB(生产环境推荐 8GB+)
  • 磁盘空间:至少 10GB(存储消息日志)

1.2 下载 RocketMQ

访问 RocketMQ 官方 GitHub,下载最新稳定版(如 4.9.4):

  • 二进制包rocketmq-all-4.9.4-bin-release.zip(Windows/Linux 通用)
  • 源码包rocketmq-all-4.9.4-source-release.zip(可选)

二、本地环境安装(Windows/macOS/Linux)

2.1 安装 JDK

确保已安装 JDK 8+,并配置 JAVA_HOME 环境变量。

2.2 解压 RocketMQ

将下载的 rocketmq-all-4.9.4-bin-release.zip 解压到任意目录,例如:

 

bash

unzip rocketmq-all-4.9.4-bin-release.zip -d /opt/rocketmq
cd /opt/rocketmq

2.3 修改内存配置(可选)

RocketMQ 默认启动参数需要较大内存(如 -Xms4g -Xmx4g),本地开发时可调整:

  • 编辑 bin/runbroker.sh 和 bin/runserver.sh
     

    bash

    # 将以下参数改为更小的值(如 512m)
    JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"

2.4 启动 NameServer

NameServer 是 RocketMQ 的路由注册中心,类似 ZooKeeper。

 

bash

# 进入 bin 目录
cd bin
# 启动 NameServer(后台运行)
nohup sh mqnamesrv &
# 查看日志
tail -f ~/logs/rocketmqlogs/namesrv.log

如果看到 The Name Server boot success,说明启动成功。

2.5 启动 Broker

Broker 是消息存储和转发的核心组件。

 

bash

# 启动 Broker(后台运行)
nohup sh mqbroker -n localhost:9876 &
# 查看日志
tail -f ~/logs/rocketmqlogs/broker.log

如果看到 The broker[%s, 192.168.x.x:10911] boot success,说明启动成功。

2.6 测试 RocketMQ

发送消息
 

bash

# 进入 bin 目录
cd bin
# 发送测试消息
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
接收消息
 

bash

# 接收测试消息
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer

如果看到消息内容,说明安装成功。

2.7 关闭 RocketMQ

 

bash

# 关闭 Broker
sh mqshutdown broker
# 关闭 NameServer
sh mqshutdown namesrv

三、服务器环境安装(Linux)

3.1 安装 JDK

以 CentOS 为例:

 

bash

# 安装 OpenJDK 8
yum install -y java-1.8.0-openjdk-devel
# 验证安装
java -version

3.2 上传 RocketMQ 包

将 rocketmq-all-4.9.4-bin-release.zip 上传到服务器(如 /opt 目录):

 

bash

# 使用 scp 或 sftp 上传
scp rocketmq-all-4.9.4-bin-release.zip user@your-server:/opt
# 解压
unzip rocketmq-all-4.9.4-bin-release.zip -d /opt/rocketmq
cd /opt/rocketmq

3.3 配置环境变量

编辑 ~/.bashrc 或 /etc/profile

 

bash

export ROCKETMQ_HOME=/opt/rocketmq
export PATH=$PATH:$ROCKETMQ_HOME/bin

生效配置:

 

bash

source ~/.bashrc

3.4 修改内存配置

编辑 bin/runbroker.sh 和 bin/runserver.sh,调整内存参数(生产环境建议保持默认):

 

bash

JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g"

3.5 创建日志目录

 

bash

mkdir -p /opt/rocketmq/logs
chown -R your-user:your-user /opt/rocketmq/logs

3.6 启动 NameServer 和 Broker

以守护进程方式启动
 

bash

# 启动 NameServer
nohup sh bin/mqnamesrv > /opt/rocketmq/logs/namesrv.log 2>&1 &
# 启动 Broker
nohup sh bin/mqbroker -n localhost:9876 > /opt/rocketmq/logs/broker.log 2>&1 &
检查进程
 

bash

ps -ef | grep rocketmq
检查端口
 

bash

netstat -tulnp | grep 9876 # NameServer 默认端口
netstat -tulnp | grep 10911 # Broker 默认端口

3.7 配置开机自启(可选)

编辑 /etc/rc.local,添加以下内容:

 

bash

su - your-user -c "nohup sh /opt/rocketmq/bin/mqnamesrv > /opt/rocketmq/logs/namesrv.log 2>&1 &"
su - your-user -c "nohup sh /opt/rocketmq/bin/mqbroker -n localhost:9876 > /opt/rocketmq/logs/broker.log 2>&1 &"

赋予执行权限:

 

bash

chmod +x /etc/rc.local

3.8 测试 RocketMQ

与本地环境相同,通过 Producer 和 Consumer 测试消息发送和接收。


四、常见问题解决

4.1 端口冲突

  • NameServer 默认端口:9876
  • Broker 默认端口:10911
  • 如果端口被占用,修改 conf/broker.conf
     

    properties

    listenPort=10912 # 修改 Broker 端口
    启动时指定配置文件:
     

    bash

    nohup sh mqbroker -n localhost:9876 -c ../conf/broker.conf &

4.2 内存不足

  • 本地开发时调整 runbroker.sh 和 runserver.sh 的内存参数。
  • 生产环境建议增加服务器内存。

4.3 日志文件权限问题

确保运行 RocketMQ 的用户对日志目录有读写权限:

 

bash

chown -R your-user:your-user /opt/rocketmq/logs

4.4 防火墙阻止端口

  • 临时关闭防火墙(测试环境):
     

    bash

    systemctl stop firewalld # CentOS 7
    ufw disable # Ubuntu
  • 生产环境建议配置防火墙规则,放行 9876 和 10911 端口。

五、生产环境优化建议

  1. 集群部署
    • 部署多个 NameServer(无状态,可水平扩展)。
    • 部署多个 Broker(主从模式或 Dledger 模式)。
  2. 持久化存储
    • 修改 storePathRootDir 和 storePathCommitLog 到大容量磁盘。
  3. 监控与告警
    • 使用 Prometheus + Grafana 监控 RocketMQ 指标。
    • 配置告警规则(如磁盘空间不足、Broker 宕机)。
  4. 备份与恢复
    • 定期备份消息日志(commitlogconsumequeue)。
    • 测试恢复流程,确保数据安全。

六、总结

本地环境安装流程图

 

+-------------------+ +-------------------+ +-------------------+
| 下载 RocketMQ | →解压→ | 修改内存配置 | →启动→ | NameServer |
| (rocketmq-all.zip)| | (runbroker.sh) | | (nohup mqnamesrv) |
+-------------------+ +-------------------+ +-------------------+
+-------------------+ +-------------------+ +-------------------+
| 启动 Broker | →测试→ | 发送/接收消息 | →关闭→ | 停止服务 |
| (nohup mqbroker) | | (Producer/Consumer)| | (mqshutdown) |
+-------------------+ +-------------------+ +-------------------+

服务器环境安装流程图

 

+-------------------+ +-------------------+ +-------------------+
| 上传 RocketMQ | →解压→ | 配置环境变量 | →启动→ | NameServer |
| (rocketmq-all.zip)| | (~/.bashrc) | | (nohup mqnamesrv) |
+-------------------+ +-------------------+ +-------------------+
+-------------------+ +-------------------+ +-------------------+
| 启动 Broker | →配置→ | 开机自启 | →测试→ | 消息发送/接收 |
| (nohup mqbroker) | | (/etc/rc.local) | | (Producer/Consumer)|
+-------------------+ +-------------------+ +-------------------+

七、附录:RocketMQ 常用命令

命令说明
sh mqnamesrv启动 NameServer
sh mqbroker -n localhost:9876启动 Broker
sh mqadmin updateTopic -n localhost:9876 -t TestTopic创建 Topic
sh mqadmin clusterList -n localhost:9876查看集群状态
sh mqshutdown namesrv关闭 NameServer
sh mqshutdown broker关闭 Broker

通过本文的详细步骤,你可以在本地或服务器上成功安装和运行 RocketMQ。如果在安装过程中遇到问题,可以参考 RocketMQ 官方文档 或在评论区留言,我会尽力帮助你解决!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值