Rocketmq-集群部署(Master-Slave)

  1. 使用中间件版本:rocketmq-4.5.2
  2. 环境介绍及角色划分
    这里采用俩台机器做集群的搭建,172.0.0.1 以及 172.0.0.2
    服务器172.0.0.1 做为a-masterb-slave
    服务器172.0.0.2 做为b-mastera-slave
    角色划分图
  3. 配置讲解图(主要说明区分点)
    配置讲解图
  4. 配置rocketmq环境变量,这里也说明一下需要在部署rocketmq的前一步安装好jdk的环境变量
    vim ~/.bash_profile (俩台机器都需要配置)
export JAVA_HOME=/data/soft/jdk1.8.0_311
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
export JRE_HOME=${JAVA_HOME}/jre

export ROCKETMQ_HOME=/data/soft/rocketmq-4.5.2
export PATH=$JAVA_HOME/bin:$ROCKETMQ_HOME/bin:$PATH
  1. 创建数据存储目录(用于在接下来的配置文件中进行rocketmq的数据存储,需要在俩台机器上都执行,目录可根据实际情况自定义),由于同一台机器上既有master又有slave节点所以需要创建不同目录。
mkdir -p /data/soft/dataMQ/stores
mkdir -p /data/soft/dataMQ/stores/commitlogs
mkdir -p /data/soft/dataMQ/stores/consumequeues
mkdir -p /data/soft/dataMQ/stores/indexs
mkdir -p /data/soft/dataMQ/stores/checkpoints
mkdir -p /data/soft/dataMQ/stores/aborts

mkdir -p /data/soft/dataMQ/store
mkdir -p /data/soft/dataMQ/store/commitlogs
mkdir -p /data/soft/dataMQ/store/consumequeues
mkdir -p /data/soft/dataMQ/store/indexs
mkdir -p /data/soft/dataMQ/store/checkpoints
mkdir -p /data/soft/dataMQ/store/aborts
  1. 接下来修改配置文件,首先我们先修改172.0.0.1中的配置文件,共需要修改俩个配置文件分别是
    rocketmq-4.5.2/conf/2m-2s-async/broker-a.properties
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0表示Master >0表示Slave
brokerId=0
#nameserver地址 分号分割 根据/etc/hosts的映射查找IP
namesrvAddr=172.0.0.1:9876;172.0.0.2:9876
#在发送消息时,自动创建服务器不存在的Topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许broker自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许Broker自动创建队列组,建议线下允许,线上关闭
autoCreateSubscriptionGroup=true
#Broker对外服务的监听端口
listenPort=10911
#删除文件时间 默认凌晨4点
deleteWhen=04
#文件保留时间 默认48小时
fileReservedTime=48
#commitLog每个文件的默认大小1G
mapedFileSizeCommitLog=1073741824
#consumeQueue默认存30w条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#储存路径
storePathRootDir=/data/soft/dataMQ/store
#CommitLog存储路径
storePathCommitLog=/data/soft/dataMQ/store/commitlog
#消费队列储存路径
storePathConsumeQueue=/data/soft/dataMQ/store/consumequeue
#消息索引存储路径
storePathIndex=/bonc/data/dataMQ/store/index
#checkpoint文件存储路径
storeCheckPoint=/data/data/dataMQ/store/checkpoint
#abort文件存储路径
abortFile=/bonc/data/dataMQ/store/abort
#限制的消息大小
maxMessageSize=65536
#Broker的角色 -SYNC_MASTER同步复制Master -ASYNC_MASTER异步复制MASTER
brokerRole=SYNC_MASTER
#刷盘方式 异步和同步
flushDiskType=ASYNC_FLUSH

rocketmq-4.5.2/conf/2m-2s-async/broker-b-s.properties

brokerClusterName=rocketmq-cluster
brokerName=broker-b
brokerId=1
namesrvAddr=172.0.0.1:9876;172.0.0.2:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=11011
deleteWhen=04
fileReservedTime=48
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
diskMaxUsedSpaceRatio=88
storePathRootDir=/data/soft/dataMQ/stores
storePathCommitLog=/data/soft/dataMQ/stores/commitlogs
storePathConsumeQueue=/data/soft/dataMQ/stores/consumequeues
storePathIndex=/data/soft/dataMQ/stores/indexs
storeCheckPoint=/data/soft/dataMQ/stores/checkpoints
abortFile=/data/soft/dataMQ/stores/aborts
maxMessageSize=65536
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH 
  1. 接下来修改配置文件,首先我们先修改172.0.0.2中的配置文件,共需要修改俩个配置文件分别是
    rocketmq-4.5.2/conf/2m-2s-async/broker-b.properties
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-b
#0表示Master >0表示Slave
brokerId=0
#nameserver地址 分号分割 根据/etc/hosts的映射查找IP
namesrvAddr=172.0.0.1:9876;172.0.0.2:9876
#在发送消息时,自动创建服务器不存在的Topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许broker自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许Broker自动创建队列组,建议线下允许,线上关闭
autoCreateSubscriptionGroup=true
#Broker对外服务的监听端口
listenPort=10911
#删除文件时间 默认凌晨4点
deleteWhen=04
#文件保留时间 默认48小时
fileReservedTime=48
#commitLog每个文件的默认大小1G
mapedFileSizeCommitLog=1073741824
#consumeQueue默认存30w条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#储存路径
storePathRootDir=/data/soft/dataMQ/store
#CommitLog存储路径
storePathCommitLog=/data/soft/dataMQ/store/commitlog
#消费队列储存路径
storePathConsumeQueue=/data/soft/dataMQ/store/consumequeue
#消息索引存储路径
storePathIndex=/data/soft/dataMQ/store/index
#checkpoint文件存储路径
storeCheckPoint=/data/soft/dataMQ/store/checkpoint
#abort文件存储路径
abortFile=/data/soft/dataMQ/store/abort
#限制的消息大小
maxMessageSize=65536
#Broker的角色 -SYNC_MASTER同步复制Master -ASYNC_MASTER异步复制MASTER
brokerRole=SYNC_MASTER
#刷盘方式 异步和同步
flushDiskType=ASYNC_FLUSH

rocketmq-4.5.2/conf/2m-2s-async/broker-a-s.properties

brokerClusterName=rocketmq-cluster
brokerName=broker-a
brokerId=1
namesrvAddr=172.0.0.1:9876;172.0.0.2:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=11011
deleteWhen=04
fileReservedTime=48
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
diskMaxUsedSpaceRatio=88
storePathRootDir=/data/soft/dataMQ/stores
storePathCommitLog=/data/soft/dataMQ/stores/commitlogs
storePathConsumeQueue=/data/soft/dataMQ/stores/consumequeues
storePathIndex=/data/soft/dataMQ/stores/indexs
storeCheckPoint=/data/soft/dataMQ/stores/checkpoints
abortFile=/data/soft/dataMQ/stores/aborts
maxMessageSize=65536
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
  1. 修改启动文件(俩台机器都需要修改)
    rocketmq-4.5.2/bin/runserver.sh
    在这里插入图片描述
    rocketmq-4.5.2/bin/runbroker.sh
    在这里插入图片描述
  2. 按照从上到下的顺序启动rocketmq集群
    启动NamesrvStartup需要在俩台机器上执行
nohup /data/soft/rocketmq-4.5.2/bin/mqnamesrv > /data/soft/rocketmq-4.5.2/logs/mqnamesrv.log 2>&1 &

启动BrokerMaster(A)节点(这里要注意引用的配置文件)

nohup /data/soft/rocketmq-4.5.2/bin/mqbroker -c /data/soft/rocketmq-4.5.2/conf/2m-2s-async/broker-a.properties > /data/soft/rocketmq-4.5.2/logs/broker-a.log 2>&1 &

启动BrokerMaster(B)节点(这里要注意引用的配置文件)

nohup /data/soft/rocketmq-4.5.2/bin/mqbroker -c /data/soft/rocketmq-4.5.2/conf/2m-2s-async/broker-b.properties > /data/soft/rocketmq-4.5.2/logs/broker-b.log 2>&1 &

启动BrokerSlave(A)节点(这里要注意引用的配置文件)

nohup /data/soft/rocketmq-4.5.2/bin/mqbroker -c /data/soft/rocketmq-4.5.2/conf/2m-2s-async/broker-a-s.properties > /data/soft/rocketmq-4.5.2/logs/broker-as.log 2>&1 &

启动BrokerSlave(B)节点(这里要注意引用的配置文件)

nohup /data/soft/rocketmq-4.5.2/bin/mqbroker -c /data/soft/rocketmq-4.5.2/conf/2m-2s-async/broker-b-s.properties > /data/soft/rocketmq-4.5.2/logs/broker-bs.log 2>&1 &
  1. 查看节点启动状态(俩台机器一致)
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

steam社区加载异常、加载失败、无法加载、黑屏的解决方法

随着steam夏季特卖的临近,最近几天开启史低折扣的大作已经越来越少了,不过也并不是没有。最经典的知名大作文明6之前已经打到1折的骨折价了,没想到也能背刺,现在是新史低价0.5折11元,很多玩家入手后纷纷前往社区看新手…

spring mvc实现自定义验证器Validator

使用场景 在接口开发的日常实践中,确保数据准确性是保障业务稳定性的关键一环。面对诸如登录时验证用户名密码非空、创建用户时检查邮箱和手机号格式的正确性等需求,手动编写校验逻辑不仅耗时费力,还会显著降低代码的可读性和维护性。鉴于网…

搭建大型分布式服务(四十三)SpringBoot 无代码侵入实现多Kafka数据源发布到Maven中央仓库:让世界看到你的作品!

系列文章目录 文章目录 系列文章目录前言一、大概步骤二、完整教程三、参考文章 前言 在软件开发的世界里,分享和协作是推动技术进步的重要力量。当你开发了一个优秀的SpringBoot插件,并希望将其分享给全世界的开发者使用时,将插件发布到Mav…

在IDEA中创建Maven项目

2023版IDEA创建Maven项目(新版) 1.打开IDEA,点击 文件 -> 新建 -> 项目 2.创建Maven项目 3.编写java文件并运行 在src -> java -> 创建一个java文件并运行 如果出现下图 解决办法: 2022版IDEA创建Maven项目&#xf…

Leetcode[反转链表]

LCR 024. 反转链表 给定单链表的头节点 head ,请反转链表,并返回反转后的链表的头节点。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2: 输入:head [1,2] 输出:[2,1]示…

JVM专题八:JVM如何判断可回收对象

在JVM专题七:JVM垃圾回收机制中提到JVM的垃圾回收机制是一个自动化的后台进程,它通过周期性地检查和回收不可达的对象(垃圾),帮助管理内存资源,确保应用程序的高效运行。今天就让我们来看看JVM到底是怎么定…

基于QT开发的气体成分检测数据记录软件

1、软件概述 气体成分检测数据记录软件用于实现多种气体分析仪及相关设备实时数据的获取、存储和传送。目前支持的设备主要有气体分析仪、多通道进样阀箱、冷阱处理系统和气体采样处理系统。   气体成分检测数据记录软件可以根据实际应用需要进行配置,以实现不同应…

制造企业用AI可以做什么?

ChatGPT横空出世,有关AI的浪潮席卷全球,比起人工智能如何改变世界,可能你更感兴趣我能用AI可以做的事情是什么? 制造企业用AI可以做的事情是什么?人工智能在制造企业中可以做很多事情,以下是一些主要的应用&#xff1…

【Nginx】源码安装

nginx官网:nginx: download 选择文档版本安装即可 1.安装依赖包 //一键安装上面四个依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 2.下载并解压安装包 //创建一个文件夹 cd /usr/local mkdir nginx cd nginx //将下载的nginx压缩…

Linux(Ubuntu20.04)系统中安装deb软件包错误(依赖关系问题-仍未被配置)解决的办法

在Ubuntu16.04下采用如下dpkg命令安装deb软件安装包时: sudo dpkg -i XXXX.deb 发生安装失败,返回信息为"正处理时有错误发生",并且在安装过程中出现"依赖关系问题-仍未被配置"的提示&#xff0…

240629_昇思学习打卡-Day11-Vision Transformer中的self-Attention

240629_昇思学习打卡-Day11-Transformer中的self-Attention 根据昇思课程顺序来看呢,今儿应该看Vision Transformer图像分类这里了,但是大概看了一下官方api,发现我还是太笨了,看不太明白。正巧昨天学SSD的时候不是参考了太阳花的…

编程开发不能不懂的世界协调时UTC的由来

在各种时间标准出现之前,各地都是根据太阳来进行计时的。把太阳连续2次经过地球同一位置所经历的时间间隔称为真太阳日,然后再把这个太阳日划分为更小的时间单位,例如中国古代使用日晷记录时间,把一个太阳日分为12个时辰。因为地球…

海康+libtorch的血泪教训

一、LibTorch使用, 详见: /INCLUDE:?warp_sizecudaatYAHXZ 二、海康二次开发, 目前选4.31,只能c14。 三、做dll注意:

【MongoDB】分布式数据库入门级学习

SueWakeup 个人主页:SueWakeup 系列专栏:为祖国的科技进步添砖Java 个性签名:保留赤子之心也许是种幸运吧 本文封面由 凯楠📸友情提供 凯楠📸 - 不夜长安 目录 MongoDB 相关 数据库排行榜单 MongoDB 中文官网 菜鸟…

[Open-source tool]Uptime-kuma的簡介和安裝於Ubuntu 22.04系統

[Uptime Kuma]How to Monitor Mqtt Broker and Send Status to Line Notify Uptime-kuma 是一個基於Node.js的開軟軟體,同時也是一套應用於網路監控的開源軟體,其利用瀏覽器呈現直觀的使用者介面,如圖一所示,其讓使用者可監控各種…

【探索Linux】P.35(传输层 —— UDP协议)

阅读导航 引言一、UDP协议端格式二、UDP的特点三、UDP的缓冲区四、基于UDP的应用层协议温馨提示 引言 在上一篇文章中,我们深入探讨了网络协议的应用层,揭示了各种协议如何协同工作以确保信息在网络中正确、高效地传递。从HTTP到FTP,每一层协…

【分布式计算框架 MapReduce】MapReduce 初级编程

目录 一、MapReduce 示例程序的导入并运行测试 二、准备 4 个小文件(文件大小分别为 1.7M,5.1M,3.4M,6.8M) 1. 第一种情况,默认分片:不修改程序代码,直接使用 WordCount 源程序 2…

火了10年的电脑监控软件有哪些?盘点8款热门的电脑监控软件

电脑监控软件领域经历了多年的发展,一些软件因为其稳定的功能、良好的用户体验和不断更新的技术支持,得以在市场上保持长期的热度和用户基础。以下是几款在过去十年里广受好评且持续流行的内网监控软件: 1.安企神:由河北安企神网络…

c++ 子类继承父类

这个是子类继承父类 是否重写从父类那里继承来的函数 这个例子的路径 E盘 demo文件夹 fatherChildfunc

【C++ | 委托构造函数】委托构造函数 详解 及 例子源码

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…