从源代码开始:RocketMQ 5.0 Cluster模式部署完全指南

1,322 阅读2分钟

这里是weihubeats,觉得文章不错可以关注公众号小奏技术,文章首发。拒绝营销号,拒绝标题党

源码版本

这里选用最新的稳定版本5.0

在这里插入图片描述

启动方式

目前5.0的架构发生了重大调整,添加了一层rocketmq-proxy,可以通过grpc的方式接入

在这里插入图片描述 目前部署方式分为两种

  • Local 模式:由于 Local 模式下 Proxy 和 Broker 是同进程部署,Proxy本身无状态,因此和之前4.0版本的部署方式基本相同
  • Cluster 模式:在 Cluster 模式下,Broker 与 Proxy分别部署,我可以在 NameServer和 Broker都启动完成之后再部署 Proxy。

启动

1. 下载源码

源码地址: github.com/apache/rock…

下载完成后我们切换到最新稳定分支release-5.0.0版本

2. 启动NameServer

在这里插入图片描述 在启动这个类的时候我们需要配置一下环境信息,不然会报错找不到环境变量

在这里插入图片描述 主要是配置Environment variables 值为: ROCKETMQ_HOME=****/rocketmq/distribution

填写指定到distribution路径即可

在这里插入图片描述

注意这里我们的jdk版本要是jdk8,如果是高版本会启动失败,而且同时存在多个版本的jdk会有交叉编译bug 具体解决方案可以参考这里 www.morling.dev/blog/bytebu…

启动成功后会输出如下log 在这里插入图片描述

3. 启动Broker

在这里插入图片描述

同样这里我们需要配置环境变量和上面一样 ROCKETMQ_HOME=****/rocketmq/distribution 同时我们要添加设置NameServer地址 org.apache.rocketmq.broker.BrokerStartup -n 127.0.0.1:9876

在这里插入图片描述

启动成功后会输出如下log 在这里插入图片描述

4. 启动rocketmq-proxy

在这里插入图片描述

同上Broker配置环境变量

在这里插入图片描述

ROCKETMQ_HOME=****/rocketmq/distribution

启动成功输出如下log

在这里插入图片描述

自此启动完成

发送消息磁盘空间不足问题

如果我们磁盘空间不足发送消息也会报错,不然我们发送消息,我们可以修改磁盘限制 在这里插入图片描述 这里限制的默认值我们改成99

然后将这里的判断删除

在这里插入图片描述

grpc发送接受消息

我们可以使用官方api提供的demo github地址: github.com/apache/rock…

在这里插入图片描述

  • 消息发送 在这里插入图片描述
  • 消息消费 在这里插入图片描述