RocketMQ 5.0安装部署

0.前言

在微服务架构逐渐成为主流的今天,消息队列如同数字世界的快递员,承担着系统间高效通信的重要使命。

Apache RocketMQ 自诞生以来,因其架构简单、业务功能丰富、具备极强可扩展性等特点被众多企业开发者以及云厂商广泛采用。历经十余年的大规模场景打磨,RocketMQ 已经成为业内共识的金融级可靠业务消息首选方案,被广泛应用于互联网、大数据、移动互联网、物联网等领域的业务场景。

1.本地部署RockerMQ5.0

系统要求:

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

64位 JDK 1.8+

下载安装安装包:

二进制包下载地址:https://dist.apache.org/repos/dist/release/rocketmq/5.3.1/rocketmq-all-5.3.1-bin-release.zip

解压安装包:

解压目录如下

启动NameServer:

到解压目录的bin目录下,输入命令启动NameServer

复制代码
nohup sh mqnamesrv &

验证NameServer是否启动成功

复制代码
tail -f ~/logs/rocketmqlogs/namesrv.log

我们可以在namesrv.log 中看到 'The Name Server boot success..', 表示NameServer 已成功启动。

启动Broker和Proxy:

NameServer成功启动后,我们启动Broker和Proxy。这里我们使用 Local 模式部署,即 Broker 和 Proxy 同进程部署。5.x 版本也支持 Broker 和 Proxy 分离部署以实现更灵活的集群能力。

到bin目录下输入命令启动broker

复制代码
nohup sh mqbroker -n localhost:9876 --enable-proxy &

输入命令,验证broker是否启动成功

复制代码
tail -f ~/logs/rocketmqlogs/proxy.log 

我们可以在 proxy.log 中看到"The broker[brokerName,ip:port] boot success..",这表明 broker 已成功启动。

停止服务:

到bin目录下输入命令停止服务

复制代码
sh mqshutdown broker

sh mqshutdown namesrv

至此rockertMQ5.0本地部署完成。

2.docker部署

拉取RocketMQ镜像:

复制代码
docker pull apache/rocketmq:5.3.1

创建容器共享网络:

RocketMQ 中有多个服务,需要创建多个容器,创建 docker 网络便于容器间相互通信。

复制代码
docker network create rocketmq

启动NameServer:

输入命令启动NameServer

复制代码
docker run -d --name rmqnamesrv -p 9876:9876 --network rocketmq apache/rocketmq:5.3.1 sh mqnamesrv

验证 NameServer 是否启动成功

复制代码
docker logs -f rmqnamesrv

看到 'The Name Server boot success..', 表示NameServer 已成功启动。

启动 Broker+Proxy:

NameServer 成功启动后,我们启动 Broker 和 Proxy。

配置 Broker 的IP地址

复制代码
echo "brokerIP1=127.0.0.1" > broker.conf

启动 Broker 和 Proxy

复制代码
docker run -d \
--name rmqbroker \
--network rocketmq \
-p 10912:10912 -p 10911:10911 -p 10909:10909 \
-p 8080:8080 -p 8081:8081 \
-e "NAMESRV_ADDR=rmqnamesrv:9876" \
-v ./broker.conf:/home/rocketmq/rocketmq-5.3.1/conf/broker.conf \
apache/rocketmq:5.3.1 sh mqbroker --enable-proxy \
-c /home/rocketmq/rocketmq-5.3.1/conf/broker.conf

验证 Broker 是否启动成功

复制代码
docker exec -it rmqbroker bash -c "tail -n 10 /home/rocketmq/logs/rocketmqlogs/proxy.log"

看到 'The broker boot success..', 表示 Broker 已成功启动

停止容器:

停止 NameServer 容器

复制代码
docker stop rmqnamesrv

停止 Broker 容器

复制代码
docker stop rmqbroker

3.管理工具RocketMQ Dashboard部署

RocketMQ Dashboard 是 RocketMQ 的管控利器,为用户提供客户端和应用程序的各种事件、性能的统计信息,支持以可视化工具代替 Topic 配置、Broker 管理等命令行操作。

方式一源码安装

到github下载源码:https://github.com/apache/rocketmq-dashboard

使用IDEA打开,使用maven编译

修改配置文件端口号,防止8080端口冲突

直接运行APP.calss 方法,打开浏览器访问:http://127.0.0.1:9999/

方式二docker安装:

拉取 rocketmq-dashboard 镜像

复制代码
docker pull apacherocketmq/rocketmq-dashboard:latest

运行 rocketmq-dashboard

复制代码
docker run -d --name rocketmq-dashboard -e "JAVA_OPTS=-Drocketmq.namesrv.addr=127.0.0.1:9876" -p 9999:8080 -t apacherocketmq/rocketmq-dashboard:latest

namesrv.addr:port 替换为 rocketmq 中配置的 nameserver 地址:端口号。

浏览器访问:http://127.0.0.1:9999/

仪表盘功能介绍如下:

4.最后

至此rocketMQ5.0的部署安装完成,详情可到官网查看:https://rocketmq.apache.org/

相关推荐
galaxyffang4 天前
RocketMQ 为什么性能不如 Kafka?
分布式·kafka·rocketmq
一叶飘零_sweeeet4 天前
从 Kafka 到 RocketMQ:迁移实战全攻略
分布式·kafka·rocketmq
一叶飘零_sweeeet7 天前
Spring Cloud Alibaba RocketMQ 实战:从底层原理到微服务落地全攻略
微服务·架构·rocketmq
一叶飘零_sweeeet8 天前
RocketMQ 核心解密:NameServer 路由发现与负载均衡的底层逻辑全解析
负载均衡·rocketmq
无心水8 天前
【分布式利器:事务】5、本地消息表vs事务消息:异步方案怎么选?
分布式·rocketmq·分布式事务·saga·事务消息·分布式利器·2pc3pc
huisheng_qaq9 天前
【RocketMq源码篇-02】rocketmq集群搭建详细过程(docker版-2主2从)
docker·rocketmq·rocketmq集群·rocketmq源码·2主2从
无心水9 天前
【分布式利器:RocketMQ】RocketMQ基本原理详解:架构、流程与核心特性(附实战场景)
中间件·架构·rocketmq·topic·rocketmq基本原理·电商金融mq·nameserver
小虾米 ~10 天前
RocketMQ DefaultMQPushConsumer vs DefaultLitePullConsumer
java·rocketmq·java-rocketmq
2***574211 天前
后端消息中间件对比,RabbitMQ与RocketMQ
分布式·rabbitmq·rocketmq
无心水12 天前
【分布式利器:RocketMQ】2、RocketMQ消息重复?3种幂等方案,彻底解决重复消费(附代码实操)
网络·数据库·rocketmq·java面试·消息幂等·重复消费·分布式利器