一 准备工作

1.1 环境要求

64位操作系统,推荐 Linux/Unix/macOS
64位 JDK 1.8+

二 安装 RocketMQ 

2.1 下载解压

官网下载地址:官网下载链接

官网访问地址:官网访问地址

首先在 Linux 服务器创建文件夹用于存放即将下载的 RocketMQ

mkdir /home/soft
cd /home/soft

文件夹创建好之后,将下载好的压缩包上传到该目录,然后解压,在重命名

unzip rocketmq-all-5.3.2-bin-release.zip
mv rocketmq-all-5.3.2-bin-release rocketmq-5.3.2

cd rocketmq-5.3.2 后,目录如下

bin:启动脚本,包括 shell 脚本和 CMD 脚本
conf:实例配置文件 ,包括 broker 配置文件、logback 配置文件等
lib:依赖 jar 包,包括Netty、commons-lang、FastJSON等

2.2 修改内存大小

RocketMQ 默认的虚拟机内存较大,启动 Broker 或者 NameServer 可能会因为内存不足而导致失败,所以需要编辑这两个地方的配置文件,修改 JVM 内存大小

编辑 vim bin/runserver.sh

参考 JVM 参数设置

-server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m

编辑 vim bin/runbroker.sh

参考 JVM 参数设置

 -server -Xms256m -Xmx256m

2.3 修改 Broker 配置文件

Broker需要向NameServer注册,所以还需要指定NameServer的地址。因为NameServer 跟Broker 在同一台机器,所以是 localhost,NameServer 端口默认的是 9876。

vim conf/broker.conf

namesrvAddr = localhost:9876
brokerIP1 = 172.16.19.10

brokerIP1 修改成自己的服务器 IP 地址

MQ5以后客户端如果需要批量消费,就需要开启批量消费参数

enableProxy=true
proxyListenPort=8081

2.4 安装启动

2.4.1 启动 NameServer

nohup sh bin/mqnamesrv &

nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。

查看日志:

tail -f ~/logs/rocketmqlogs/namesrv.log

如果能看到以下日志,表示启动成功:

2.4.2 启动 Broker

启动时指定读取上面的配置文件:

nohup sh bin/mqbroker -c conf/broker.conf &
  • -c:指定配置文件路径
  • -n:NameServer 的地址

查看日志:

tail -f ~/logs/rocketmqlogs/broker.log

看到以下信息,说明已经启动成功了。

2.5 测试

启动完NameServerBroker,可以进行简单的测试。

首先设置环境变量

export NAMESRV_ADDR=localhost:9876

发送消息

sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

接收消息

sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

接收到的消息截图如下:

2.6 关闭 RocketMQ

关闭NameServerBroker的命令如下:

# 1.关闭NameServer
sh bin/mqshutdown namesrv
# 2.关闭Broker
sh bin/mqshutdown broker

三 源码搭建可视化控制台

前面 NameServer 和 Broker 搭建完成之后,就可以用来收发消息了,但是为了更加直观,可以搭建对应的服务控制台。

3.1 下载

下载地址:地址

3.2 修改配置文件

下载完成后IDEA 打开刚解压的资源,修改配置文件:

修改 localhost 为自己的 Linux 服务器公网 IP 地址。

3.4 打包

通过maven下载依赖,然后进行打包,上传到服务器指定目录

3.5 启动

启动我自己写了一个脚本,方便操作,启动命令如下:

java -jar rocketmq-dashboard-1.0.0.jar

3.6 界面

​http://localhost:8083

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐