本文RocketMQ系列第四篇,主要介绍RocketMQ集群及如何部署自动容灾切换的 RocketMQ-on-DLedger Group。 ?...我们采用多Master多Slave的异步复制模式来搭建RocketMQ集群。 双主双从集群搭建 1....最终RocketMQ集群主机: ? 5....Dledger新集群 能自动容灾的集群才是好集群 在 RocketMQ 4.5 版本之前,RocketMQ 只有 Master/Slave 一种部署方式,一组 broker 中有一个 Master ,有零到多个...这种方案会引入重量级外部组件,加重部署、运维和故障诊断成本,比如在维护 RocketMQ 集群还需要维护 zookeeper 集群,并且 zookeeper 集群故障会影响到 RocketMQ 集群。
多Master模式 组成一个集群, 集群每个节点都是Master节点, 配置简单, 性能也是最高, 某节点宕机重启不会影响RocketMQ服务, 缺点就是如果某个节点宕机了, 会导致该节点未被消费的消息在在节点恢复前不可订阅...集群的一些概念 ? Name Server: 是一个几乎无状态节点, 可集群部署, 节点之间间无任何信息同步....每个Broker与Name Server集群中的所有节点建立长连接, 定时注册Topic信息到所有Name Server....Producer完全无状态, 可集群部署....另外再列出具体的配置信息与注释: #所属集群名字 brokerClusterName=rocketmq-cluster #broker名字,注意此处不同的配置文件填写的不一样 brokerName=broker-a
RocketMQ集群架构 \ 刚才的演示中,我们已经体验到了RocketMQ是如何工作的。这样,我们回头看RocketMQ的集群架构,就能够有更全面的理解了。...\ 1、RocketMQ集群中的各个角色 \ 一个完整的RocketMQ集群中,有如下几个角色 \ Producer:消息的发送者;举例:发信者 Consumer:消息接收者;举例:收信者 Broker...这里用的目前最新的4.7.1版本 6、配置RocketMQ集群 我们为了便于观察,这次搭建一个2主2从异步刷盘的集群,所以我们会使用conf/2m-2s-async下的配置文件,实际项目中,为了达到高可用...先配置2m-2s-async/broker-a.properties #所属集群名字,名字一样的节点就在同一个集群内 brokerClusterName=rocketmq-cluster #broker...9、Dleger高可用集群搭建 通过这种方式,我们搭建了一个主从结构的RocketMQ集群,但是我们要注意,这种主从结构是只做数据备份,没有容灾功能的。
RocketMQ本地集群配置 更多完整的配置参数参考 修改NameServer默认端口达到本地集群配置 conf目录下新建一个配置文件conf/namesrv.properties,文件内容为: listenPort.../conf/namesrv.properties The Name Server boot success. serializeType=JSON 配置Broker本地集群 ....autoCreateTopicEnable=true namesrvAddr=localhost:9876;localhost:2058 listenPort=10911 2主2从同步(2m-2s-sync)集群配置...文件存储路径 storeCheckpoint=/usr/local/rocketmq/store/checkpoint #abort 文件存储路径 abortFile=/usr/local/rocketmq.../usr/local/rocketmq/bs/store/abort 在bin目录下分别执行,依次启动2主2从集群的Broker: .
3 双主(不推荐) 多个 master 节点组成集群,单个 master 节点宕机或者重启对应用没有影响。...注意:使用同步刷盘可以保证消息不丢失,同时 Topic 相对应的 queue 应该分布在集群中各个节点,而不是只在某各节点上,否则,该节点宕机会对订阅该 topic 的应用造成影响。
由于broker的节点关系不同分为多种模式 1.单master模式 只有一个broker只能在测试环境中使用,由于存在单点的问题 2.多master模式 broker集群中由多个master组成,不存在...slave的问题,同一个topic的各个queen分布在各个master节点上 3.多master多slave-异步复制 broker集群由多个master组成,一个master有多个slave节点,master
本文主要讲述: 生产级的rocketmq消息集群的部署。...(1).集群形式 (2).源码编译 (3).生产级硬件资源与节点拓扑 (4).namersrv节点部署 (5).broker节点部署 (6).rocketmq-console后台部署 (7).rocketmq...相关文章 (1).集群形式 集群形式:2m-2s-2namesrv;2个master,2个slave,2个namesrv。.../rocketmq-console/rocketmq-console-ng-1.0.0.jar > /data/inc/logs/rocketmq-console/nohup-rocketmq-console.out...(7).rocketmq相关文章 rocketmq1:集群主要结构和监控,以及性能测试与成本控制 rocketmq-2:性能测试方案&压测&选型&结论 rocketmq-3:rocketmq流控/重试机制与应对
RocketMQ详解(3)——RocketMQ集群模型与搭建 一....RocketMQ集群模型 RocketMQ天然支持分布式集群模型,其中主节点可读可写,从节点只可读,不可写,类似MySQL的主从模式。...RocketMQ主要支持以下几种集群模型: 单机模式(M) 这种方式风险较大,一旦Broker重启或者宕机时,会导致整个消息服务不可用,不建议在生产环境中使用。...双Master模式/多Master模式(2M) 一个集群无Slave,全是Master,例如2个Master或者3个Master。...集群环境搭建 参考博客:https://blog.csdn.net/qiushisoftware/article/details/78944579,里面详细介绍了搭建双Master的RocketMQ集群的过程
接下来,我们开始搭建RocketMQ主从集群。.../broker-a.properties #节点所属的集群名称 brokerClusterName=rocketmq-cluster #broker 名字,注意此处不同的配置文件填写的不一样 brokerName.../rocketmq-4.7.1]# vim conf/2m-2s-async/broker-a-s.properties #节点所属的集群名称 brokerClusterName=rocketmq-cluster...---- 主从集群模式下的高可用机制故障演练 创建一个普通的Maven项目,pom文件添加rocketmq-client依赖如下: org.apache.rocketmq...重新启动master节点,让其重新加入集群: [root@rocketmq01 ~]# nohup sh mqbroker -c /usr/local/rocketmq-4.7.1/conf/2m-2s-async
前言 由于我的电脑内存不够大,所以集群方式没办法做了,rocketmq很吃内存。本文我会把书上资料的步骤给大家贴出来。如有疑问请直接联系我,联系方式在最下方。 ?...下图是RocketMQ各角色之间的关系 ? 多机集群配置和部署 用两台物理机,搭建 出双主 、 双从 、 无单点故 障的高可用 RocketMQ集群。...启动多个 NameServer 和 Broker 首先我们两台机器上都应有同样的rocketMQ服务,具体做法,包括安装启动,查看日志等点击链接:【RocketMq实战第一篇】-RocketMq下载与安装...通过图形界面管理集群 运维服务程序是个 SpringBoot项目,需要从 GitHub 上的 apache/rocketmq externals 里下载 源 码 (https://github.com...服务启动后 ,在浏览器里访问 server ip_address:8080 (server_ip_address 是 启动rocketmq心onsole的机器IP) 地址就可看到集群的状态。
3.6 Name Server集群 172.16.7.92 nameserver03 centos 7.6 4.8.0 1.8.0_291 3.6 Name Server集群 172.16.7.93...Broker集群1 172.16.7.95 master02 centos 7.6 4.8.0 1.8.0_291 3.6 Broker集群2 172.16.7.96 slave02 centos 7.6...4.8.0 1.8.0_291 3.6 Broker集群2 二、部署概况 ?...集群启动正常 四、关闭集群 1.停止console [root@nameserver01 ~]# ps -ef|grep jar|grep -v grep|awk '{print $2}'|xargs...单机版RocketMQ搭建详见:Centos7.6搭建RocketMQ4.8全纪录 集群版RocketMQ搭建详见:RocketMQ4.8集群搭建全纪录
Dledger集群搭建 前言 该文档主要介绍如何部署自动容灾切换的 RocketMQ-on-DLedger Group。...新集群部署 1.1 编写配置 每个 RocketMQ-on-DLedger Group 至少准备三台机器(本文假设为 3)。...旧集群升级 如果旧集群采用 Master 方式部署,则每个 Master 都需要转换成一个 RocketMQ-on-DLedger Group。...如果旧集群采用 Master-Slave 方式部署,则每个 Master-Slave 组都需要转换成一个 RocketMQ-on-DLedger Group。...2.3 修改配置 参考新集群部署。 2.4 重新启动 Broker 参考新集群部署。
3.6 Name Server集群 172.16.7.92 nameserver03 centos 7.6 4.8.0 1.8.0_291 3.6 Name Server集群 172.16.7.93...Broker集群1 172.16.7.95 master02 centos 7.6 4.8.0 1.8.0_291 3.6 Broker集群2 172.16.7.96 slave02 centos 7.6...七、总结 总结:为保证RocketMQ集群能正常对外提供服务,需至少保证有一台nameserver服务器处于运行状态;当所有nameserver服务器宕机时,消息无法发送和消费。...本文所有代码和配置文件已上传github:RocketMQ_NameServer_HA_Test 单机版RocketMQ搭建详见:Centos7.6搭建RocketMQ4.8全纪录 集群版RocketMQ...搭建详见:RocketMQ4.8集群搭建全纪录 集群启停详见:RocketMQ集群启停手册 集群消息收发测试:RocketMQ集群消息收发测试全纪录
path=rocketmq/4.2.0/rocketmq-all-4.2.0-bin-release.zip Github: https://github.com/apache/rocketmq/ 解压...运行: unzip rocketmq-all-4.2.0-bin-release.zip -d /root/svr/rocketmq 配置host(给nameServer用) 命令: vim /etc.../hosts 192.***.*.31 rocketmq1 192.***.*.32 rocketmq2 配置环境变量:vim /etc/profile export ROCKETMQ_HOME=/root.../svr/rocketmq export PATH=$PATH::$ROCKETMQ_HOME/bin 执行:source /etc/profile 配置集群参数 命令(master): vim /root.../broker-a.properties& 验证是否启动成功 输入命令jps或者查看rocketmq/logs下日志是否输出正常 查看集群监控状态 sh mqadmin clusterlist -n
3.6 Name Server集群 172.16.7.92 nameserver03 centos 7.6 4.8.0 1.8.0_291 3.6 Name Server集群 172.16.7.93...Broker集群1 172.16.7.95 master02 centos 7.6 4.8.0 1.8.0_291 3.6 Broker集群2 172.16.7.96 slave02 centos 7.6...四、生产者测试 1.测试前集群查看 启动各节点服务,查看集群状态 ? 测试前无消息生产和消费 2.新建topic 2.1新增主题topic_test_123 ? 主题配置如下: ?...一共100条消息被消费 本文所有代码和配置文件已上传github:RocketMQ_Message_Test 单机版RocketMQ搭建详见:Centos7.6搭建RocketMQ4.8全纪录 集群版RocketMQ...搭建详见:RocketMQ4.8集群搭建全纪录 集群启停详见:RocketMQ集群启停手册
双主双从模式集群 在生产环境中为了保障集群无单点故障问题,保证高可用性,需要采用双主双从模式来构建RocketMQ集群。...RocketMQ双主双从模式集群拓扑图: ?...RocketMQ之后,我们就可以开始部署RocketMQ的双主双从模式集群了,其实部署起来也挺简单,就是准备好相应的配置文件即可。...-4.7.1/conf 启动集群 完成配置文件的分发,并且确认无误后,就可以启动我们的集群了。...在“Cluster”页面可以查看集群中各个节点的信息代表我们的集群已经构建成功: ?
Apache RocketMQ 集群搭建(两主两从) Apache RocketMQ 系列: Apache RocketMQ之JMS基本概念及使用:https://www.jianshu.com/p/...:https://www.jianshu.com/p/570680b32590 Apache RocketMQ 集群搭建(两主两从):https://www.jianshu.com/p/b090138cf52c...---- RocketMQ 集群部署模式 单 master 模式: 优点:除了配置简单没什么优点,适合个人学习使用。 缺点:不可靠,该机器重启或宕机,将导致整个服务不可用。...---- 开始集群搭建:2M-2S-SYNC(两主两从同步写) 软件依赖: 软件及版本 下载地址 rocketmq-4.2 https://www.apache.org/dyn/closer.cgi?...集群搭建顺利完成:)。
RocketMQ集群部署结构 ? Name Server Name Server是一个几乎无状态节点,可集群部署,节点之间无任何信息同步。...每个Broker与Name Server集群中的所有节点建立长连接,定时(每隔30s)注册Topic信息到所有Name Server。...Producer Producer与Name Server集群中的其中一个节点(随机选择)建立长连接,定期从Name Server取Topic路由信息,并向提供Topic服务的Master建立长连接,且定时向...Producer完全无状态,可集群部署。...(如果有需要,可以查看Rocketmq更多源码解析)
一、运维需求 在 RocketMQ 集群的实践中,对集群扩容、缩容、节点下线等运维做到平滑、业务无感知、数据无丢失,这个对于集群运维的同学来说非常重要。...比如前些日子出现的问题,由于线上集群频繁出现 CPU 毛刺甚至直接挂掉并伴随着集群抖动,对内核参数的调整只能减缓毛刺却不能消除抖动。集群抖动业务使用会伴随着发送延迟告警,始终是个必须处理的隐患。...集群信息: RocketMQ版本4.5.2 主从信息:4主4从 broker-a, broker-b, broker-c, broker-d, broker-a(slave), broker-b(slave...二、平滑扩容 1.下线从节点 从节点正常关闭 rocketmq,从节点下线对业务不会造成影响,如果配置,slaveReadEnable = true,从节点的通常在消息回溯延迟超过内存消息的40%时使用...此时集群中变成8主,其中新增集群有从节点,即装有centor7内核的新机器构成了4主4从,接下来就只需要将内核为centos6的主节点的数据消费完成,并下线即可。
领取专属 10元无门槛券
手把手带您无忧上云