Rocketmq-集群部署(Master-Slave)

news2024/10/5 19:56:10
  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. 查看节点启动状态(俩台机器一致)
    在这里插入图片描述

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

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

相关文章

【嵌入式CLion】进阶调试——WSL下的Linux体验

说明: 1,这里所指的嵌入式其实是指嵌入式微控制器MCU,即单片机 2,万事开头难,本文目前提供了WSL工具链的搭建,后面会持续更新 一、启用RTOS集成 在搭建WSL工具链之前,先讲一下集成的RTOS功能&a…

产品是应该有生命力的

产品是应该有生命力的 在日新月异的商业环境中,产品被寄予厚望,不仅仅满足基本功能需求,而是要能够自我革新,适应市场和技术的快速变化,以及持续吸引并留住用户。 这种生命力体现在产品的迭代升级能力、对用户需求的精…

计算机毕业设计Flink+Hadoop广告推荐系统 广告预测 广告数据分析可视化 广告爬虫 大数据毕业设计 Spark Hive 深度学习 机器学

专业 小四号宋体 班级 小四号宋体 姓名 小四号宋体 学号 小四号宋体 指导教师 小四号宋体 题目 基于大数据的B站广告投放分析及可视化 (1.内容包括:课题的来源及意义,国内外发展状况,本课题的研究目标、内容、方法、手…

Python Theano库:符号定义与自动微分的神奇魅力!

更多Python学习内容:ipengtao.com Theano是一个Python库,用于定义、优化和评估涉及多维数组的数学表达式。它是深度学习领域的早期先驱之一,广泛用于高性能计算和神经网络的研究与开发。本文将详细介绍Theano库的安装、主要功能、基本操作、高…

AI奥林匹克竞赛:Claude-3.5-Sonnet对决GPT-4o,谁是最聪明的AI?

目录 实验设置 评估对象 评估方法 结果与分析 针对学科的细粒度分析 GPT-4o vs. Claude-3.5-Sonnet GPT-4V vs. Gemini-1.5-Pro 结论 AI技术日新月异,Anthropic公司最新发布的Claude-3.5-Sonnet因在知识型推理、数学推理、编程任务及视觉推理等任务上设立新…

LabVIEW材料样本结构缺陷检测

本文介绍了一种基于LabVIEW的实验室振动特性分析测试装置,通过分析振动特性来检测结构缺陷。文章详细描述了具体案例、硬件型号、工作原理、软件功能以及注意事项。 硬件型号 振动传感器:PCB Piezotronics 352C33加速度计 数据采集卡:NI PXI…

笔灵AI写作:释放创意,提升写作效率的秘诀

内容为王,在内容创作的世界中尤为重要。然而,面对写作时常常感到无从下手:有时缺乏灵感,有时难以表达清楚自己的想法。AI写作助手的出现,为这些问题提供了创新的解决方案,极大地改变了内容创作的过程。 今…

从零开始三天学会微信小程序开发(三)

看到不少入门的小程序开发者不断的问重复性的问题,我们从实战角度开发了这个课程,希望能够帮助大家了解小程序开发。 课程分三天: 第一天:微信小程序开发入门第二天:给小程序接入云端数据第三天:完善我的…

STM32——使用TIM输出比较产生PWM波形控制舵机转角

一、输出比较简介: 只有高级定时器和通用寄存器才有输入捕获/输出比较电路,他们有四个CCR(捕获/比较寄存器),共用一个CNT(计数器),而输出比较功能是用来输出PWM波形的。 红圈部分…

【知识学习】Unity3D中Shader Graph的概念及使用方法示例

Unity3D中的Shader Graph是一个强大的可视化Shader编辑工具,它允许用户通过拖拽和连接节点的方式来创建Shader,而不是通过传统的编写代码的方式。Shader Graph使得Shader的创建过程更加直观和易于理解,特别是对于那些不熟悉Shader语言编程的美…

gitee配置ssh教程

生成公钥 执行命令: ssh-keygen -t rsa查看公钥 cat ~/.ssh/id_rsa.pub这个公钥就是要复制粘贴到Gitee中的ssh公钥。 配置Gitee SSH公钥 来到Gitee的ssh公钥中,配置

git通过命令方式push代码到远程

本地仓库和远程仓库关联操作 通过关联远程分支可以将本地的分支与远程仓库中的分支进行关联,从而实现本地分支与远程分支的同步和交互。 关联远程分支的步骤如下: 1. 首先,使用git remote -v命令查看当前仓库关联的远程仓库。 git remote …

C#语言编写的仅有8KB大小的简易贪吃蛇开源游戏

前言 今天大姚给大家分享一款由C#语言编写的仅有8KB大小的简易贪吃蛇开源游戏:SeeSharpSnake。 项目特点 该仓库中的项目文件和脚本可以用多种不同的配置构建相同的游戏,每个配置生成的输出大小也不同。 项目源码运行 F5 运行 SeeSharpSnake项目&…

Python 面试【★★★★】

欢迎莅临我的博客 💝💝💝,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

安卓短视频去水印v1.7 简洁好用

各大平台视频无水印提取,登录即永久会员! 无水印提取,图片无水印提取 视频旋转,倒放,转gif等功能 链接:https://pan.baidu.com/s/1buoJmAvSFBiRkBmHc7Nn5w?pwd2fu4 提取码:2fu4

考试如果出现汉诺塔问题怎么办?

对于这道题来说 就按照测试案例里的数字进行输入 测试案例用100 那这三只鸡的具体最多能有多少只鸡呢? 用总数除以这只鸡的单价>>>>>>>即为这只鸡最多有 >>>>>>>> n / 单价 修改后 >>>>> 不只适…

input子系统学习(一)

1、输入子系统框架 2、编写一个简单的设备驱动层代码 #include<linux/module.h> #include<linux/init.h> #include<linux/input.h> #include<linux/time.h>struct input_dev *my_input_dev;static void timer_function(struct timer_list *t); DEFINE…

.NET 一款用于入口打点的免杀WebShell

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…

云计算【第一阶段(21)】Linux引导过程与服务控制

目录 一、linux操作系统引导过程 1.1、开机自检 1.2、MBR引导 1.3、GRUB菜单 1.4、加载 Linux 内核 1.5、init进程初始化 1.6、简述总结 1.7、初始化进程centos 6和7的区别 二、排除启动类故障 2.1、修复MBR扇区故障 2.1.1、 实验 2.2、修复grub引导故障 2.2.1、实…

Burpsuite靶场中信息泄露相关的实验通关

目录 第一关&#xff1a;错误消息中的信息披露 第二关&#xff1a;调试页面信息披露 第三关&#xff1a;通过备份文件披露源代码 第四关&#xff1a;通过信息披露绕过身份验证 第五关&#xff1a;版本控制历史中的信息披露 最近看大佬的文章&#xff0c;发现了很对自己没有…