RocketMq集群搭建

RocketMQ集群搭建 Producer:消息的发送者;举例:发信者Consumer:消息的接收者;举例:收信者Broker:暂存和传输消息;举例:邮局NameServer:管理Broker;举例:各个邮局的管理机构Topic:区分消息的种类;一个发送者可以发送消息给一个或者多个Topic;一个消息的接收者可以订阅一个或者多个Topic消息Message Queue:相当于是Topic的分区;用于并行发送和接收消息。 阅读详情
  • 各个角色介绍:

    • producer:消息的发送者;举例:发信者
    • consumer:消息的接受者;举例:收信者
    • broker:暂存和传输消息;举例:邮局
    • NameServer:管理Broker;举例:各个邮局的管理机构
    • Topic:区分消息的种类;一个发送者可以发送消息给一个或多个Topic;一个消息的接受者可以订阅一个或多个Topic的消息
    • Message Queue:相当于Topic的分区;用于并行发送和接收消息

集群特点:

  • NameServer是一个几乎无状态的节点,可集群部署,节点之间无任何信息同步
  • Broker部署相对复杂,Broker分为Master与Slave,一个Master可以对应多个Salve,但一个Slave只能对应一个Master,Master与Slave的对应关系通过指定相同的BrokerName,不同的Brokerld来定义,BrokerId为0表示Master,非0表示Slave。Master也可以部署多个。每个Broker与NameServer集群中所有节点建立长连接,定时注册Topic信息到所有的NameServer。
  • Producer与NameServer集群中的一个节点(随机选择)建立长连接,定期从NameServer取Topic路由信息,并向Topic服务的Master建立长连接,并定时向Master发送心跳,Producer完全无状态,可集群部署。
  • Consumer与NameServer集群中的一个节点(随机选择),建立长连接,定期从NameServer取Topic路由信息,并向提供Topic服务的Master、Slave建立长连接,且定时向Master、Slave发送心跳。Consumer既可以从Master订阅消息,也可以从Slave订阅消息,订阅规则由Broker配置决定。
集群模式
1)单Master模式

这种方式风险较大,一旦Broker重启或宕机时,会导致整个服务的不可用。

2)多Master模式

一个集群无Slave,全是Master,这种模式的优缺点如下:

  • 优点:配置简单,单个Master宕机或重启维护对应用无影响,在磁盘配置为RAID10时,即使机器宕机不可恢复情况下,由于RAID10磁盘非常可靠,消息也不会丢(异步刷盘丢失少量信息,同步刷盘一条不丢),性能最高;
  • 缺点:单台机器宕机期间,这机器上未被消费的消息在机器恢复之前不可订阅,消息实时会收到影响。
3)多Master多Slave模式(异步)

每个Master配置一个Slave,有多对Master-Slave,HA采用异步复制的方式,主备有短暂消息延迟(毫秒级),这种模式的优缺点如下:

  • 优点:即使磁盘损坏,消息丢失的非常少,且消息实时性不会受影响,同时Master宕机后,消费者仍然可以从Slave消费,而且此过程对应应用透明,不需要人工干预,性能同多Master模式几乎一样;
  • 缺点:Master宕机,磁盘损坏情况不会丢失少量信息。
4)多Master多Slave模式

每个Master配置一个Slave,有多对Master-Slave,HA采用同步双写方式,即只有主备都写成功,才向应用返回成功,这种模式的有缺点如下:

  • 优点:数据与服务都无单点故障,Master宕机的情况下,消息无延迟,服务可用性都非常高;
  • 缺点:性能比异步复制模式略低(大约10%左右),发现单个消息的RT会略高,且目前版本在节点宕机后,备机不能自动切换为主机。

开/关闭NameServe

#开启nameServe
nohup sh bin/mqnamesrv &
#关闭nameServe
sh bin/mqshutdown namesrv

开/关闭Broker

nohup sh bin/mqbroker -c 双主双从配置地址 &
sh bin/mqshutdown broker
Host添加信息

服务器信息:

192.168.25.135

192.168.25.138

vim /etc/hosts

配置如下:

#nameServer
192.168.25.135 rocket-nameserver1
192.168.25.138 rocket-nameserver2
#broker
192.168.25.135 rocket-master1
192.168.25.138 rocket-slave2
192.168.25.135 rocket-master2
192.168.25.138 rocket-slave1

配置完成后,重启网卡

systemctl restart network
环境变量配置
vim /etc/profile

在profile末尾加入如下命令

#set rocketmq
ROCKETMQ_HOME=/usr/local/rocketmq/rocketmq-all-5.1.0-bin-release
PATH=$PATH:$ROCKET_HOME/bin
export ROCKETMQ_HOME PATH

输入:wq!保存并退出,并使得配置立刻生效:

source /etc/profile

创建消息存储路径

mkdir /usr/local/rocketmq/store
mkdir /usr/local/rocketmq/store/commitlog
mkdir /usr/local/rocketmq/store/consumequeue
mkdir /usr/local/rocketmq/store/index
broker配置文件

在这里插入图片描述

1)master1

服务器:192.168.25.135

vi /usr/local/rocketmq/rocketmq-all-5.1.0-bin-release/conf/2m-2s-sync/broker-a.properties

修改配置如下:

#所属集群的名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0 表示Master>0,表示Slave
brokerId=0
#nameServer地址,分号分隔
namersrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
#在发送消息时,自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#在发送消息时,自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker对外服务监听的端口
listenPort=10911
#删除文件时间点,默认凌晨4点
deleteWhen=04
#文件保留时间,默认48小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/usr/local/rocketmq/store
#commitLog 存储路径
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint 文件存储路径
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/usr/local/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128

slave2

服务器:192.168.25.135

vi /usr/local/rocketmq/rocketmq-all-5.1.0-bin-release/conf/2m-2s-sync/broker-b-s.properties

修改配置:

#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=11011
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/usr/local/rocketmq/slave-store
#commitLog 存储路径
storePathCommitLog=/usr/local/rocketmq/slave-store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/usr/local/rocketmq/slave-store/consumequeue
#消息索引存储路径
storePathIndex=/usr/local/rocketmq/slave-store/index
#checkpoint 文件存储路径
storeCheckpoint=/usr/local/rocketmq/slave-store/checkpoint
#abort 文件存储路径
abortFile=/usr/local/rocketmq/slave-store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SLAVE
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128

master2和slave1的配置与上述配置相似只需关注一下Broker对外服务监端口

服务启动

启动NameServe集群

分别在192.168.25.135和192.168.25.138

启动NameServe集群:

在192.168.25.135启动master1和slave2

启动Broker集群

master1:

cd /usr/local/rocketmq/bin
#nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-noslave/broker-a.properties &
nohup sh mqbroker -c /usr/local/rocketmq/rocketmq-all-5.1.0-bin-release/conf/2m-2s-sync/broker-a.properties &

slave2:

cd /usr/local/rocketmq/bin
nohup sh mqbroker -c /usr/local/rocketmq/rocketmq-all-5.1.0-bin-release/conf/2m-2s-sync/broker-b-s.properties &

在192.168.25.138上启动master2和slave1

master2:

cd /usr/local/rocketmq/bin
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-b.properties &

slave1:

cd /usr/local/rocketmq/bin
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-a-s.properties &

部署到阿里云腾讯云服务器的
后边在broker主从文件配置中要加入如下配置

brokerIP1=服务器公网访问地址
RocketMQ系列之集群搭建 前言 上节我们对RocketMQ(以下简称RMQ)有了一些基本的认识,大致知道了,什么是RMQ以及他能做什么,今天我们来讲讲如何搭建RMQ,与其说搭建RMQ不如说是搭建RMQ集群,为什么这么说呢?看完这篇文章自然就懂了。 RMQ几个重要角色? NameServer:名称服务,这是RMQ的一个重点,他是一个几乎无状态的节点,可集群部署,节点之间无任何信息同步,这里可以充当ZK协调集群的作用; Broker:Broker消息中转角色,主要负责消息的存储转发,Broker分为Master和Sla. 阅读详情

相关推荐

RocketMQ--Dledger集群搭建

引言:一直以来,在多地多中心的消息发送场景下,如何保障数据的完整性和一致性是一个技术难点。Dledger 作为一个轻量级的 Java Library,它的作用就是将 Raft 有关于算法方面的内容全部抽象掉,开发人员只需要关心业务即可在 RocketMQ 4.5 版本之前,RocketMQ 只有 Master/Slave 一种部署方式,一组 broker 中有一个 Master ,有零到多个 Slave,Slave 通过同步复制或异步复制的方式去同步 Master 数据。Master/Slave 部署模式,

L2111533547的博客 5558

RocketMQ消息类型

RocketMQ集群架构 一个完整的RocketMQ集群中,有如下几个角色 Producer:消息的发送者;举例:发信者 Consumer:消息接收者;举例:收信者 Broker:暂存和传输消息;举例:邮局 NameServer:管理Broker;举例:各个邮局的管理机构 Topic:区分消息的种类;一个发送者可以发送消息给一个或者多个Topic;一个消息的接收者可以 订阅一个或者多个Topic消息 RocketMQ的消息样例 1、基本样例: W基本样例部分我们使用消息生产者分别通过三

chenxuezhou的博客 1873

低代码Agent开发框架使用指南(二)—Coze平台核心功能概览

本篇分享系统介绍了字节跳动推出的低代码智能体开发平台Coze。Coze以免费易用、多模型支持和便捷的跨平台发布为核心优势,显著降低了智能体开发门槛。文章详细解析了平台的六大核心功能:扩展能力边界的插件系统、增强认知的知识库、结构化数据管理的数据库、可视化图像处理的图像流、实现复杂逻辑编排的工作流,以及处理复杂任务的多智能体协作机制,全面展现了Coze平台的强大能力。

weixin_42782643的博客 1358

RocketMQ-集群搭建

RocketMQ-集群搭建

爱笑的boy的博客 2894

MPU6050芯片 寄存器详解与配置指南(详解)

分频值越小,数据刷新越快(如分频值 = 0 时,刷新率 = 8kHz/1=8kHz)。功能:配置采样频率分频系数,控制 ADC 转换速度和数据刷新率。数据刷新率 = 陀螺仪输出时钟频率 /(1 + 分频值)

m0_74696257的博客 1420

基于转录逆转的药物重定向 GPS 模型

GPS是一个基于分子结构预测基因表达扰动的开源平台,由三个模块组成:RCL(在LINCS扰动数据上训练抗噪MLP)、GPS4Drugs(预测新化合物的基因表达谱并进行逆转评分)、MolSearch(基于MCTS的分子优化)。平台使用Morgan指纹和Gene Ontology注释作为特征输入,将基因表达扰动离散为三分类标签。训练数据来自LINCS Phase I的18,746个化合物和978个landmark基因,支持四细胞系独立训练,可用于药物重定向与化合物筛选。

听雨草堂 83

Centos7搭建RocketMQ集群

Producer:消息的发送者;举例:写信人Consumer:消息接收者;举例:收信人Broker:暂存和传输消息;举例:邮政网点NameServer:管理Broker;举例:省邮政,管理各个邮政网点Topic:区分消息的种类;一个发送者可以发送消息给一个或者多个Topic;一个消息的接收者可以订阅一个或者多个Topic消息Message Queue: 相当于是Topic的分区;用于并行发送和接收消息名称含义命令选项说明创建更新Topic配置-b。

山不见我,我自见山 1879

【零基础入门unity游戏开发——unity通用篇12】导入导出unity资源包、设置编程工具、创建脚本(组件)规则、MonoBehaviour基类介绍、脚本模板(基于unity6开发介绍)

导入导出unity资源包、设置编程工具、创建脚本(组件)规则、MonoBehaviour基类介绍、脚本模板(基于unity6开发介绍)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 758

RocketMQ集群搭建详解

文章目录1、机器环境2、创建用户3、系统配置免密登录关闭防火墙4、安装java5、安装RocketMQ6、配置RocketMQ集群1、配置第一组broker-a7、启动RocketMQ1、先启动nameServer。2、再启动broker3、启动状态检查4、测试mqadmin管理工具**Topic相关**:**集群相关****Broker相关****消息相关****消费者和消费者组相关**连接相关其他5、命令行快速验证8、搭建管理控制台Dleger高可用集群搭建搭建方法9、调整系统参数1、配置RocketM

roykingw的专栏 1278

使用 ChatGPT Store 里的工具给 ABAP 制作 Logo,效果一般

在编程领域中,Domain Specific Language(DSL)是一种特定于某一问题领域的计算机语言,诞生目的就是为了解决该领域特定类型的问题。在 ChatGPT 官网的 GPT Stores,也有很多已经预先配置完毕,专用于某一特定领域的 GPT 工具,OpenAI 将其分类如下。第三个问题是 Logo 的配色,提供蓝白,黑绿和灰黄,以及自定义调色板四种选择。这个 GPT 设计了四个问题,通过一问一答的方式,获得使用者想创建 Logo 的细节。这次的复杂度调成最低的 1,感觉还是有点花里胡哨的。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 507

点云从入门到精通技术详解100篇-点云的特征检测(续)

对每个维度的序列分别计算 DTW 距离,最后。权重将距离限制在较小的范围内,对于时间跨度大的数据集,过度限制了点对点的路径,同的,因此不能用欧氏距离来计算两个多元时间序列之间的距离,本文选用的是动态时。到的股票数据是未知分类的,因此该数据的相似性分析缺少有效的评价方式,通常需要。时间序列,简而言之,就是与时间相关的数据的集合,应用在生活工作中的方方面。时间序列的分段线性化表示的难点在于如何找出分段点,目前,对于分段点的研究。经过分段线性化之后,每个多元时间序列的维度是相同的,但是每一维的长度是不。

getusushu的博客 334

RocketMQ:搭建集群

在上一篇《RocketMQ:快速入门》之后,今天说一说如何搭建RocketMQ集群。首先看一下集群架构图: 1. 集群特点 NameServer是一个几乎无状态节点,可集群部署,节点之间无任何信息同步。 Broker部署相对复杂,Broker分为Master与Slave,一个Master可以对应多个Slave,但是一个Slave只能对应一个Master,Master与Slave的对应关系通过指定相同的BrokerName。不同的BrokerId来定义,BrokerId为0表示Master,非0表示Sla

上海一九四三 8613

【OpenClaw从入门到精通】第63篇:A股智能分析实战——用OpenClaw搭建个人量化研究助手(2026实测版)

2026年,OpenClaw已成为量化投研圈的现象级工具,八家头部券商密集发布专题研报力证其价值。传统量化投研面临技术门槛高、重复劳动多、策略迭代慢、非结构化数据处理弱四大痛点,而OpenClaw通过“AI智能体+金融Skill+量化API”的融合,实现了从数据获取、策略生成、回测验证到持仓监控的全流程自动化。本文基于2026年最新实测经验,完整呈现个人量化研究助手搭建:从阿里云部署、阿里云百炼API配置(含解析失败解决方案)、Tushare数据源接入,到PB-ROE价值选股、研报复现、自动化回测、持仓监控

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1058

RocketMQ 集群搭建详细指南

RocketMQ是阿里巴巴开源的一款分布式消息中间件,具备高性能、高可用性和强大的消息传递能力,能够胜任从实时消息传递、事务消息到事件驱动架构的多种场景。RocketMQ 的核心架构设计使其能够支持高并发、低延迟的场景,尤其是在互联网公司和金融领域广泛应用。为了确保系统的高可用性和扩展性,我们通常会在生产环境中搭建RocketMQ 集群。通过集群化部署,RocketMQ 可以在节点故障时保持正常运行,并通过水平扩展来提升系统的吞吐能力。

hello.reader 2719

常用元器件使用方法13:物理层接口芯片DP83848的使用方法

介绍: DP83848是以太网物理层接口芯片,具有多种型号,从便于焊接角度考虑LQFP-48封装较为合适,采用LQFP-48封装的芯片,有2种型号,分别为DP83848I和DP83848C,如下图所示。 其主要区别是使用温度不同,如下图所示。 这2种芯片芯片网上均有销售,按理说DP83848C价格应该更加便宜,实际不然,DP83848I的价格低于DP83848C,考虑或与芯片的出货量...

snmplink的博客 1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Rocketmq集群再搭建

注意上面这个官方架构是 主从模式,还无法做到高可用,因为master节点宕机,从节点没法变成主节点,需要人工重启,够用了。1. 先准备1台虚拟机,装好1台再克隆2台 (3台中一台只运行nameserver)

dj1955的博客 917

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Rocketmq的集群搭建

居于RocketMQ4.9.4搭建集群

wssc63262的博客 2149

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

RocketMQ 集群搭建

文章目录RocketMQ 集群搭建各角色介绍集群搭建方式集群特点集群模式1)单Master模式2)多Master模式3)多Master多Slave模式(异步)4)多Master多Slave模式(同步)双主双从(同步)集群搭建工作流程配置步骤(1) 修改 vim /etc/hosts(2) 重启网卡(3) 修改防火墙(4) 配置环境变量(5) 创建消息存储路径(6)broker 配置文件(7)修改启动脚本文件(8) 服务启动mqadmin 管理工具1 使用方式2 命令介绍1)`Topic`相关2)集群相关3

涛涛之海 1273

02RocketMQ(集群搭建)

RocketMQ有一个对其扩展的开源项目,这个项目中有一个子模块叫,这个便是管理控制台项目了,先将拉到本地,因为我们需要自己对进行编译打包运行。

qq_56947957的博客 750

RocketMQ集群搭建,及RocketMQ-Dashboard部署(前RocketMQ-Console)

RocketMQ不支持单主机搭建主从结构集群,当从节点启动时,即使和主节点设置不同的监听端口,他也要去监听主节点端口,也就是说正常启动的从节点会监听四个端口。原因未知,现象后面会列举出来。

dxh9231028的博客 2523
上一篇: JUC多线程学习
下一篇: RocketMq消息
Array_new
博客等级 码龄5年 5粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Array_new

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值