Windows环境下搭建RocketMq集群(双主双从)

news2025/1/13 13:29:38

一、官网下载Rocket安装包

下载地址:https://rocketmq.apache.org/dowloading/releases/下载 | RocketMQhttps://rocketmq.apache.org/dowloading/releases/

博主这里下载的是4.9.8版本的,大家根据自己的需要下载对应的版本即可。

二、环境变量配置

环境变量配置这里就不做过多的赘述了,相信大家都知道怎么配置环境变量了。

ROCKETMQ_HOME   :D:\software_work\rocketmq-all-4.9.8-bin-release

%ROCKETMQ_HOME%\bin

三、修改日志配置路径

3.1、修改之前,先到安装目录下创建几个文件夹,用来存放日志、数据、自己的配置文件等。

3.2、打开conf目录,修改以下文件中的${user.name} ,替换成安装路径D:\software_work\rocketmq-all-4.9.8-bin-release

查找并替换就OK了。

3.3、把mq自带的集群下的配置文件拷贝到myconf目录下,我这里选择的是双主双从异步形式

并新建namesrv1.properties和namesrv2.properties两个文件,分别在这两个文件中定义监听的端口,如下:

namesrv1.properties文件中内容为:listenPort=9876

namesrv2.properties文件中内容为:listenPort=9877

3.4、把以下配置分别拷贝到对应的配置文件中,配置就完成了。

broker-a.properties文件内容如下:

#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,名字可重复,为了管理,每个master起一个名字,他的slave同他,eg:Amaster叫broker-a,他的slave也叫broker-a
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=127.0.0.1:9876;127.0.0.1:9877
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
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=D:/software_work/rocketmq-all-4.9.8-bin-release/store/master1/broker-a
#commitLog 存储路径
storePathCommitLog=D:/software_work/rocketmq-all-4.9.8-bin-release/store/master1/broker-a/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=D:/software_work/rocketmq-all-4.9.8-bin-release/store/master1/broker-a/consumequeue
#消息索引存储路径
storePathIndex=D:/software_work/rocketmq-all-4.9.8-bin-release/store/master1/broker-a/index
#checkpoint 文件存储路径
storeCheckpoint=D:/software_work/rocketmq-all-4.9.8-bin-release/store/master1/checkpoint
#abort 文件存储路径
abortFile=D:/software_work/rocketmq-all-4.9.8-bin-release/store/master1/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=ASYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128

broker-a-s.properties文件内容如下:
 #所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,名字可重复,为了管理,每个master起一个名字,他的slave同他,eg:Amaster叫broker-a,他的slave也叫broker-a
brokerName=broker-a-s
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=127.0.0.1:9876;127.0.0.1:9877
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口,
listenPort=10921
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=D:/software_work/rocketmq-all-4.9.8-bin-release/store/slave1/broker-a-s
#commitLog 存储路径
storePathCommitLog=D:/software_work/rocketmq-all-4.9.8-bin-release/store/slave1/broker-a-s/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=D:/software_work/rocketmq-all-4.9.8-bin-release/store/slave1/broker-a-s/consumequeue
#消息索引存储路径
storePathIndex=D:/software_work/rocketmq-all-4.9.8-bin-release/store/slave1/broker-a-s/index
#checkpoint 文件存储路径
storeCheckpoint=D:/software_work/rocketmq-all-4.9.8-bin-release/store/slave1/checkpoint
#abort 文件存储路径
abortFile=D:/software_work/rocketmq-all-4.9.8-bin-release/store/slave1/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

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

broker-b-s.properties文件内容如下:
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,名字可重复,为了管理,每个master起一个名字,他的slave同他,eg:Amaster叫broker-a,他的slave也叫broker-a
brokerName=broker-b-s
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=127.0.0.1:9876;127.0.0.1:9877
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口,
listenPort=10951
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=D:/software_work/rocketmq-all-4.9.8-bin-release/store/slave2/broker-b-s
#commitLog 存储路径
storePathCommitLog=D:/software_work/rocketmq-all-4.9.8-bin-release/store/slave2/broker-b-s/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=D:/software_work/rocketmq-all-4.9.8-bin-release/store/slave2/broker-b-s/consumequeue
#消息索引存储路径
storePathIndex=D:/software_work/rocketmq-all-4.9.8-bin-release/store/slave2/broker-b-s/index
#checkpoint 文件存储路径
storeCheckpoint=D:/software_work/rocketmq-all-4.9.8-bin-release/store/slave2/checkpoint
#abort 文件存储路径
abortFile=D:/software_work/rocketmq-all-4.9.8-bin-release/store/slave2/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

四、启动rocketmq

博主这里为了方便启动,写了一个脚本,直接执行所有的启动文件,大家可以参考。

创建一个cmd文件,将下列启动命令复制进去,双击运行cmd文件即可。

# 启动端口号
set path=D:\software_work\rocketmq-all-4.9.8-bin-release
start %path%\bin\mqnamesrv.cmd -c %path%\myconf\namesrv1.properties
start %path%\bin\mqnamesrv.cmd -c %path%\myconf\namesrv2.properties


# 启动配置
start %path%\bin\mqbroker.cmd -c %path%\myconf\broker-a.properties
start %path%\bin\mqbroker.cmd -c %path%\myconf\broker-a-s.properties
start %path%\bin\mqbroker.cmd -c %path%\myconf\broker-b.properties
start %path%\bin\mqbroker.cmd -c %path%\myconf\broker-b-s.properties

五、图形化界面配置及启动

5.1、修改图形化界面rocketmq-console项目中的application.properties文件中的

rocketmq.config.namesrvAddr=127.0.0.1:9876;127.0.0.1:9877

5.2、maven打包

mvn clean package -DskipTests=true

5.3、运行并启动控制台

java -jar rocketmq-console-ng-1.0.1.jar

5.4、浏览器访问,查看cluster内容

图形化界面的资源下载路径如下:

https://download.csdn.net/download/gonghua0502/89419927

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1810873.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

再度牵手,制造升级 | 毅达科技IMS OS+通用产品集+行业套件项目正式启动!

在数字化与智能制造的浪潮中,制造业企业纷纷加快转型步伐,力求通过技术创新实现生产效率与质量的双重提升。近日,广东毅达医疗科技股份有限公司(以下简称“毅达科技”)再次携手盘古信息,正式启动了IMS 数字…

背包问题—动态规划

01背包问题&#xff1a;没有物品&#xff08;元素&#xff09;只能选择1次 【模板】01背包_牛客题霸_牛客网 (nowcoder.com) #include <array> #include <cstring> #include <iostream> #include<vector> using namespace std; int n,V; int dp[1001…

全球微型光谱仪市场规模逐渐扩大 智能手机为最大应用领域

全球微型光谱仪市场规模逐渐扩大 智能手机为最大应用领域 光谱仪又称为分光仪&#xff0c;是用来测量光谱成分的一种仪器&#xff0c;可以检测特定波长的电磁辐射形成的光谱&#xff0c;从而获取有关物质的结构和动力学等信息。微型光谱仪是光谱仪的细分产品之一&#xff0c;具…

原腾讯云副总裁张纾翔加入矩阵起源,共筑人工智能新篇章

近日&#xff0c;原腾讯云副总裁张纾翔先生正式加入矩阵起源&#xff0c;担任合伙人兼高级副总裁&#xff0c;全面负责矩阵起源商业化工作。 矩阵起源成立于2021年。公司创始团队来自腾讯云、Snowflake等国内外一流的互联网企业、软件公司、数字化企业和开源社区&#xff0c;核…

使用 Transformer 完成 IMDB 情感分类任务

前言 本文使用简单的 Transformer Block 实现对影评文本数据 IMDB 的情感分类任务。 数据 这里定义了两个关键的超参数&#xff1a; vocab_size&#xff1a;表示词汇表的大小&#xff0c;即允许在文本数据中使用的不同的单词数量。maxlen&#xff1a;表示文本序列的最大长度&…

AI大模型-机器学习中的集成学习

机器学习中的集成学习 集成学习概述及主要研究领域 1.1 集成学习概述&#x1f4a5; “众人拾柴火焰高”、“三个臭皮匠顶个诸葛亮”等词语都在表明着群体智慧的力量&#xff0c;所谓的“群体智慧”指的就是一群对某个主题具有平均知识的人集中在一起可以对某一些问题提供出更…

觅瑞集团两年亏损9亿:现金流承压营销成本近亿,应收账款周期过长

《港湾商业观察》黄懿 4月30日&#xff0c;Mirxes Holding Company Limited&#xff08;下称“觅瑞集团”&#xff09;递表港交所&#xff0c;拟在香港主板挂牌上市&#xff0c;中金和建银国际为联席保荐人&#xff0c;这是继2023年7月25日递表失效后的再一次申请。觅瑞集团国…

记录vue一个echarts页面 柱状图加平均分横线 双柱状图 横向双柱状图

<template><div class"app-container"><el-form :model"queryParams" ref"queryForm" size"small" v-show"showSearch" label-width"85px"><el-form-item label"园所名称" prop&q…

【Vue】智慧商城

步骤一般都是&#xff1a; 静态结构 > 封装接口 > 路由获取参数 > 获取数据 动态渲染 先封装接口再路由获取参数的原因是因为&#xff0c;只有先封装好了接口&#xff0c;才能知道我们需要哪些参数 接口文档&#xff1a;https://apifox.com/apidoc/shared-12ab6b18-a…

LabVIEW结构体内部缺陷振动检测

结构体内部缺陷会改变其振动特性&#xff0c;通过振动分析可以检测并定位这些缺陷。本文详细分析内部缺陷对振动的影响&#xff0c;从频谱分析、时域分析和模态分析等多角度探讨基于LabVIEW的检测方法&#xff0c;提供实施步骤和注意事项&#xff0c;帮助工程师有效利用LabVIEW…

安全生产信息化平台:高效构建安全台账管理体系

随着科技的飞速发展&#xff0c;信息化已成为推动企业安全生产管理的重要手段。传统的安全台账管理方式&#xff0c;涉及记录、整理、汇编等多个繁琐环节&#xff0c;不仅耗时费力&#xff0c;而且在查找和检索时也不便。安全生产信息化平台的出现&#xff0c;为企业提供了全新…

【Linux】线程(附源码)

目录 1.线程概述 2.创建线程 3.线程退出 4.线程回收 5.线程分离 1.线程概述 线程是轻量级的进程&#xff08;LWP&#xff1a;light weight process&#xff09;&#xff0c;在Linux环境下线程的本质仍是进程。在计算机上运行的程序是一组指令及指令参数的组合&#xff0c;…

[图解]企业应用架构模式2024新译本讲解12-领域模型5

1 00:00:00,560 --> 00:00:04,690 刚才是往那个表里面添加数据了 2 00:00:04,700 --> 00:00:07,960 相当于&#xff0c;或者往这个合同里面添加数据了 3 00:00:08,430 --> 00:00:09,530 现在要查询怎么办 4 00:00:09,900 --> 00:00:10,930 跟前面一样 5 00:00:…

C# WPF入门学习主线篇(八)—— ListBox常见属性和事件

C# WPF入门学习主线篇&#xff08;八&#xff09;—— ListBox常见属性和事件 欢迎来到C# WPF入门学习系列的第八篇。在前面的文章中&#xff0c;我们已经探讨了WPF中的Button、TextBox和Label控件的使用。今天&#xff0c;我们将深入了解WPF中的另一个常用控件——ListBox。本…

java web如何调用py脚本文件

Controller public class IndexController {RequestMapping("/pythonTest")ResponseBodypublic String pythonTest(){// 假设你的Python脚本名为script.pyString pythonScriptPath "D:\\project\\c1\\hello.py";ProcessBuilder processBuilder new Proce…

【解读】小提琴图

ref&#xff1a;解读文献中的箱线图&#xff08;Box-plot&#xff09;和小提琴图&#xff08;Violin-plot)&#xff09;_小提琴图和箱线图的区别-CSDN博客小提琴图展示了每个变量的数据分布情况&#xff0c;通过图中的“小提琴”形状可以看出数据的密度和分布情况。 在图中&…

在Visual Studio Code中使用pytest进行AWS Lambda函数测试的最佳实践

背景/引言 在现代软件开发中&#xff0c;自动化测试已经成为保证代码质量的重要一环。对于AWS Lambda函数开发者来说&#xff0c;使用pytest进行单元测试和集成测试是一个高效且可靠的方法。本文将介绍在Visual Studio Code中使用pytest测试AWS Lambda函数的最佳实践&#xff…

攸信动态丨攸信技术接受厦门电视台《厦视直播室》栏目组采访

近日&#xff0c;厦门攸信信息技术有限公司&#xff08;简称“攸信技术&#xff08;UMS&#xff09;”&#xff09;荣幸地接受厦门电视台《厦视直播室》栏目组的采访。 智能制造作为当今技术创新的前沿阵地&#xff0c;正日益成为推动工业发展的核心力量。攸信技术&#xff0c;…

门禁系统一套多少钱,门禁系统设备的价格

门禁系统一套多少钱&#xff0c;门禁系统设备的价格 现今门禁系统有诸多品牌&#xff0c;不同品牌的价格亦有所差别&#xff1b;知名的大品牌价格往往更贵&#xff0c;而一些小众品牌又不太了解&#xff0c;价格虽便宜些&#xff0c;却担心质量不佳&#xff0c;售后也不好处理&…

适用于 macOS 的最佳免费数据恢复软件

升级到 macOS 后&#xff0c;它可以帮助您从 HDD、SSD、存储卡、USB 闪存驱动器、数码相机或其他存储介质设备中完全恢复已删除、格式化或无法访问的数据。 当 macOS Monterey 用户寻找数据恢复解决方案时&#xff0c;免费数据恢复软件始终是一个不错的选择。实际上&#xff0…