RocketMQ 5.0 本地源码启动Cluster模式指南

这篇具有很好参考价值的文章主要介绍了RocketMQ 5.0 本地源码启动Cluster模式指南。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

源码版本

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

rocketmq源码启动,消息中间件,# RocketMQ,java-rocketmq,rocketmq,大数据

启动方式

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

rocketmq源码启动,消息中间件,# RocketMQ,java-rocketmq,rocketmq,大数据
目前部署方式分为两种

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

启动

1. 下载源码

源码地址: https://github.com/apache/rocketmq

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

2. 启动NameServer

rocketmq源码启动,消息中间件,# RocketMQ,java-rocketmq,rocketmq,大数据
在启动这个类的时候我们需要配置一下环境信息,不然会报错找不到环境变量

rocketmq源码启动,消息中间件,# RocketMQ,java-rocketmq,rocketmq,大数据
主要是配置Environment variables
值为:
ROCKETMQ_HOME=****/rocketmq/distribution

填写指定到distribution路径即可

rocketmq源码启动,消息中间件,# RocketMQ,java-rocketmq,rocketmq,大数据

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

启动成功后会输出如下log
rocketmq源码启动,消息中间件,# RocketMQ,java-rocketmq,rocketmq,大数据

3. 启动rocketmq-proxy+broker

rocketmq源码启动,消息中间件,# RocketMQ,java-rocketmq,rocketmq,大数据

同上nameserver配置环境变量

rocketmq源码启动,消息中间件,# RocketMQ,java-rocketmq,rocketmq,大数据

ROCKETMQ_HOME=****/rocketmq/distribution
添加启动参数

org.apache.rocketmq.proxy.ProxyStartup
-n
127.0.0.1:9876
-bc
/Users/xx/Desktop/sofe/java/rocketmq/distribution/conf/2m-2s-async/broker-a.properties
-pm
Local

rocketmq源码启动,消息中间件,# RocketMQ,java-rocketmq,rocketmq,大数据

配置了启动参数后会自动启动broker+proxy

启动成功输出如下log

rocketmq源码启动,消息中间件,# RocketMQ,java-rocketmq,rocketmq,大数据

自此启动完成

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

如果我们磁盘空间不足发送消息也会报错,不然我们发送消息,我们可以修改磁盘限制
rocketmq源码启动,消息中间件,# RocketMQ,java-rocketmq,rocketmq,大数据
这里限制的默认值我们改成99

然后将这里的判断删除

rocketmq源码启动,消息中间件,# RocketMQ,java-rocketmq,rocketmq,大数据

grpc发送接受消息

我们可以使用官方api提供的demo
github地址: https://github.com/apache/rocketmq-clients

rocketmq源码启动,消息中间件,# RocketMQ,java-rocketmq,rocketmq,大数据文章来源地址https://www.toymoban.com/news/detail-544133.html

  • 消息发送
    rocketmq源码启动,消息中间件,# RocketMQ,java-rocketmq,rocketmq,大数据
  • 消息消费
    rocketmq源码启动,消息中间件,# RocketMQ,java-rocketmq,rocketmq,大数据

到了这里,关于RocketMQ 5.0 本地源码启动Cluster模式指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [RocketMQ] Producer生产者启动源码 (五)

    DefaultMQProducer的关系图: DefaultMQProducer的构造器和start方法。 1.创建DefaultMQProducer实例 DefaultMQProducer的构造器有很多, 但是最终调用的是下面3个参数的构造函数: 指定了命名空间、生产者组和RPC钩子的构造器, 内部创建了一个DefaultMQProducerImpl实例, DefaultMQProducer可以看作是DefaultMQ

    2024年02月11日
    浏览(45)
  • RocketMQ 5.1.0 源码详解 | Producer 启动流程

    初始化一个 DefaultMQProducer 对象的代码如下 在初始化 DefaultMQProducer 时会初始化一个 DefaultMQProducerImpl 实例并赋值给 producer 的成员变量 同时,在初始化 DefaultMQProducerImpl 实例时也会将 producer 对象作为成员变量保存在 DefaultMQProducerImpl 实例中 构造 defaultMQProducerImpl 的代码如下 因此

    2024年02月15日
    浏览(35)
  • [RocketMQ] Consumer消费者启动主要流程源码 (六)

    客户端常用的消费者类是DefaultMQPushConsumer, DefaultMQPushConsumer的构造器以及start方法的源码。 1.创建DefaultMQPushConsumer实例 最终都是调用下面四个参数的构造函数: 指定了命名空间、生产者组、RPC钩子和消费者之间消息分配的策略算法的构造器, 创建了一个DefaultMQPushConsumerImpl实例

    2024年02月16日
    浏览(48)
  • 生于云、长于云,RocketMQ 5.0 再出发

    7 月 21 日-7 月 22 日,由 Apache RocketMQ 社区主办,阿里云天池平台、云原生应用平台承办的首届 RocketMQ Summit 全球开发者峰会拉开帷幕。Apache RocketMQ 联合创始人林清山发布 RocketMQ 能力全景图,为众多开发者阐述 RocketMQ 5.0 的技术定位与发展方向,来自快手、小米、字节跳动等互

    2024年01月18日
    浏览(35)
  • RocketMQ 5.0 无状态实时性消费详解

    作者:绍舒 RocketMQ 5.0 版本引入了 Proxy 模块、无状态 pop 消费机制和 gRPC 协议等创新功能,同时还推出了一种全新的客户端类型:SimpleConsumer。 SimpleConsumer 客户端采用了无状态的 pop 机制,彻底解决了在客户端发布消息、上下线时可能出现的负载均衡问题。然而,这种新机制也

    2024年02月15日
    浏览(41)
  • RocketMQ 5.0 架构解析:如何基于云原生架构支撑多元化场景

    作者:隆基 本文将从技术角度了解 RocketMQ 的云原生架构,了解 RocketMQ 如何基于一套统一的架构支撑多元化的场景。 文章主要包含三部分内容。首先介绍 RocketMQ 5.0 的核心概念和架构概览;然后从集群角度出发,从宏观视角学习 RocketMQ 的管控链路、数据链路、客户端和服务端

    2024年02月12日
    浏览(40)
  • RocketMQ(三) broker启动

    RocketMQ源码版本V5.0.0,可兼容之前的版本,因为整理资料的时候,之前的版本,和V5版本有所出入,核心流程基本还是大同小异的。 此前已经总结了NameServer的启动流程源码:现在来了解Broker的启动流程。在RocketMQ启动的时候,首先要启动NameServer,然后再启动Broker。 Broker模块主

    2024年02月08日
    浏览(47)
  • RocketMQ broker启动失败

    版本:4.9.3 现象:NameServer启动没问题,Broker无法启动。 查看日志,没有broker方面的报错,应该是整个服务都没起来。 于是开始网上搜索解决方案: 方案1: 删除store文件夹。 删除之后问题依旧 方案2: 更改broker.conf,加上IP等配置。 发现这些配置已经有了,于是更改无效。

    2024年02月09日
    浏览(43)
  • Windows下RocketMQ的启动

    下载地址:下载 | RocketMQ 解压后 修改 bin目录下的runbroker.cmd set \\\"JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g\\\" set \\\"JAVA_OPT=%JAVA_OPT% -XX:MaxDirectMemorySize=15g\\\" set \\\"JAVA_OPT=%JAVA_OPT% -cp %CLASSPATH%\\\" 分别改为  set \\\"JAVA_OPT=%JAVA_OPT% -server -Xms512m -Xmx512m -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m\\\"  set \\\"JAVA

    2024年02月14日
    浏览(36)
  • 【RocketMQ】RocketMQ 5.1.0版本Proxy集群模式部署实践

    为了支持长远的云原生发展,RocketMQ引入了一个全新的模块:Proxy,官方对RocketMQ客户端提供了独立的开源项目:https://github.com/apache/rocketmq-clients,如果要使用这个新的客户端,必须要使用Proxy作为endpoint。 Proxy有两种搭建方式: LOCAL:本地模式,顾名思义,通过追加参数,在

    2024年02月01日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包