Linux部署RocketMQ

1、环境准备

  • Linux系统
  • JDK1.8
  • 源码安装需要安装maven

2、下载RocketMQ安装包

本文以二进制包安装的方式

①下载地址:

下载 | RocketMQ (apache.org)

②下载版本:

这里下载的是4.4.0版本,并且是二进制包

image-20240215151200528

③上传到Linux服务器上并解压

/usr/local目录下创建rocketmq文件夹,然后将下载的二进制包上传到该目录下

image-20240215151422139

使用unzip命令进行解压

1
unzip rocketmq-all-4.4.0-bin-release.zip

解压后如图

image-20240215151530482

image-20240215151553524

3、修改配置文件

RocketMQ默认使用的内容比较大,修改JVM的大小

进入bin目录下

1
cd /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/bin

修改runbroker.sh文件和runserver.sh文件

1
vim runbroker.sh

image-20240215151804081

1
vim runserver.sh

image-20240215151905064

4、启动RocketMQ

①启动NameServer

1
2
3
4
5
6
7
8
9
10
# 进入到rockermq解压后的目录下
cd /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release
# 新建日志文件夹
mkdir logs
# 进入到bin目录下
cd bin
# 以后台进程的方式启动NameServer
nohup sh mqnamesrv >/usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/logs/namesrv.log 2>&1 &
# 查看启动日志
tail -f /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/logs/namesrv.log

日志看到有success说明起动成功

image-20240215152116385

②起动Broker

1
2
3
4
5
6
# 进入bin目录下
cd /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/bin
# 以后台的方式启动Broker
nohup sh mqbroker -n localhost:9876 >/usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/logs/mqbroker.log 2>&1 &
# 查看日志
tail -f /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/logs/mqbroker.log

如果是云服务器部署的话,BrockerIP需要展示云服务器ip

修改broker的配置文件

1
vim /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/conf/broker.conf

在配置文件末尾加上

1
2
namesrvAddr = 云服务器ip:9876
brokerIP1 = 云服务器ip

然后启动命令改为:

1
nohup sh mqbroker -n localhost:9876 -c /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/conf/broker.conf >/usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/logs/mqbroker.log 2>&1 &

看日志是否成功

image-20240215152231015

1、关闭NameServer和Broker的命令

1
2
3
4
5
6
# 进入bin
cd /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/bin
# 1、关闭NameServer
sh mqshutdown namesrv
# 2、关闭Broker
sh mqshutdown broker

2、可以使用jps命令看NameServer和Broker是否已经启动成功

image-20240215152342637
有服务就说明启动成功

5、测试RocketMQ

要测试RockerMQ就要开两个终端,一个是作为生产者,一个作为消费者

终端1:生产者

生产者负责发送消息,使用安装包自带的demo进行测试

1
2
3
4
5
6
# 进入bin
cd /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/bin
# 设置临时环境变量
export NAMESRV_ADDR=localhost:9876
# 使用安装包的demo发送消息
sh tools.sh org.apache.rocketmq.example.quickstart.Producer

终端2:消费者

消费者接受并处理消息

1
2
3
4
5
6
# 进入bin
cd /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/bin
# 设置临时环境变量
export NAMESRV_ADDR=localhost:9876
# 接收消息
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer

如果看到两个终端都有信息输出,则测试成功

image-20240215152639536

image-20240215152700497