引言

RocketMQ 是一款由阿里巴巴开源的高性能、高可靠性的消息队列系统。它广泛应用于大数据、云计算、分布式系统等领域。本文将为您详细介绍在 CentOS 系统上安装与配置 RocketMQ 的过程,帮助您快速上手并打造一个高效的消息队列系统。

系统环境要求

在开始安装之前,请确保您的 CentOS 系统满足以下要求:

  • 操作系统:CentOS 7 或更高版本
  • 硬件要求:根据业务需求配置
  • 软件要求:
    • JDK 1.8 或更高版本
    • Maven 3.2.5 或更高版本

安装 RocketMQ

1. 下载 RocketMQ

首先,从 RocketMQ 官方网站下载最新版本的 RocketMQ 包。下载完成后,解压到指定目录:

wget https://github.com/apache/rocketmq/releases/download/4.9.2/rocketmq-all-4.9.2-bin-release.zip
unzip rocketmq-all-4.9.2-bin-release.zip -d /usr/local/rocketmq

2. 配置环境变量

将 RocketMQ 的 bin 目录添加到系统环境变量中:

echo 'export ROCKETMQ_HOME=/usr/local/rocketmq' >> /etc/profile
echo 'export PATH=$PATH:$ROCKETMQ_HOME/bin' >> /etc/profile
source /etc/profile

3. 编译 RocketMQ

在 RocketMQ 目录下执行以下命令,编译源码:

cd $ROCKETMQ_HOME
mvn -U clean install -Dmaven.test.skip=true

配置 RocketMQ

1. 配置 NameServer

在 RocketMQ 的 conf 目录下,找到 namesrv.conf 文件,并修改以下内容:

# The IP address of the local machine
namesrvAddr=127.0.0.1:9876

2. 配置 Broker

在 RocketMQ 的 conf 目录下,找到 broker.conf 文件,并修改以下内容:

# The IP address of the local machine
brokerIP1=127.0.0.1

# The port used by the broker
brokerPort=10911

# The name of the cluster
namesrvAddr=127.0.0.1:9876

# The storage path of the log
storePathRootDir=/usr/local/rocketmq/store

# The storage path of the commit log
storePathCommitLog=/usr/local/rocketmq/store/commitlog

# The storage path of the consume queue
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue

# The storage path of the index file
storePathIndex=/usr/local/rocketmq/store/index

# The maximum message size
maxMessageSize=1024

# The number of threads for message pull
pullMessageThreadPoolMaxSize=10

# The number of threads for message push
pushMessageThreadPoolMaxSize=10

3. 启动 NameServer 和 Broker

在 RocketMQ 的 bin 目录下,执行以下命令启动 NameServer 和 Broker:

nohup sh mqnamesrv &

nohup sh mqbroker &

验证 RocketMQ

1. 查看运行状态

在 RocketMQ 的 bin 目录下,执行以下命令查看 NameServer 和 Broker 的运行状态:

sh mqadmin runinfo

2. 发送和接收消息

使用 RocketMQ 提供的命令行工具,发送和接收消息:

# 发送消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

# 接收消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

总结

本文详细介绍了在 CentOS 系统上安装与配置 RocketMQ 的过程。通过本文的指导,您应该能够快速上手并打造一个高效的消息队列系统。在后续的使用过程中,您可以进一步探索 RocketMQ 的更多功能和特性。