rocketmq那些事儿之集群环境搭建

上一篇入门基础部分对rocketmq进行了一个基础知识的讲解说明,在正式使用前我们需要进行环境的搭建,今天就来说一说rockeketmq分布式集群环境的搭建

前言

之前已经介绍了rocketmq的入门基础,相信各位已经基本了解,今天进行一个分布式集群的搭建,其实可以通过本地源码来进行源码的使用和学习,但是作为开发维护人员还是需要去了解分布式集群的部署流程,方便后面集群的调试和测试

配置参数

注意官方给的配置文件都是默认的,最简单的版本,线上的环境需要根据自己需求来进行配置,在这里说明下其中的部分配置参数:

#所属集群名字
brokerClusterName=rocketmq‐cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker‐a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=rocketmq1:9876;rocketmq2:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 72 小时
fileReservedTime=72
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=75
#存储路径
storePathRootDir=/root/rocketmq/store
#commitLog 存储路径
storePathCommitLog=/root/rocketmq/store/commitlog
#消费队列存储路径
storePathConsumeQueue=/root/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/root/rocketmq/store/index
#checkpoint 文件存储路径
storeCheckpoint=/root/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/root/rocketmq/store/abort
#限制的消息大小 默认4M
#maxMessageSize=4194304
#Broker 的角色
#‐ ASYNC_MASTER 异步复制Master
#‐ SYNC_MASTER 同步双写Master
#‐ SLAVE
brokerRole=SYNC_MASTER

集群类型

搭建说明官方地址:https://github.com/apache/rocketmq/tree/master/docs/cn/operation.md

单机版本根据官方部署即可,这里不再介绍,今天主要说明下如何搭建分布式集群,由于公司环境使用的就是同步双写模式,今天就以这个模式为例来进行搭建

接下来以搭建双Master双Slave模式-同步双写异步刷盘集群为例进行说明

环境准备

这里因为笔者只能在本地进行(测试环境机器不够了。。。),所以使用了2台虚拟机环境,这里用的是VMware启动了2台centos7环境,首先需要提醒的是我们可以先部署一台,另一台直接克隆修改些参数就可以构建完成了,所以先进行一台的部署,如果是物理机环境,直接把源码拷贝下修改参数部署即可

整个集群环境是这样的:

  • 机器A: 1 namesrv + 1 broker-master-a + 1 broker-slave-b
  • 机器B: 1 namesrv + 1 broker-master-b + 1 broker-slave-a

部署上可以看到我们是用了2台机器互为主备,因为本地不能搞太多,当然,公司测试环境资源不够的话同样可以这样搭建

同时为了集群生产消费观察的便捷,我们还需要一个console,为了部署的方便(因为我懒得再进行下载编译配置参数这套了),我们直接使用docker来部署console,这部分后面会说

搭建流程

在正式搭建前,我们需要在centos7中安装好需要的基础环境:

  • jdk8
  • maven
  • 固定ip

虚拟机固定ip可参考这个地址进行设置:https://segmentfault.com/a/1190000017535131

这里我们一定要注意,先搭建机器A上的集群环境!直接克隆修改些参数就能构建完成,不要多做无用工作,当然,这里只是基于本地虚拟机环境,线上环境复制下整个项目源码到另一台机器上部署就好

配置完成之后,我本地虚拟机机器地址为:

机器A IP: 192.168.211.11
机器B IP: 192.168.211.12 (这个A部署完成后再克隆配置)

下载编译
wget https://archive.apache.org/dist/rocketmq/4.5.2/rocketmq-all-4.5.2-source-release.zip
unzip rocketmq-all-4.5.2-source-release.zip
cd rocketmq-all-4.5.2-source-release
mvn -Prelease-all -DskipTests clean install -U
cd distribution/target/rocketmq-4.5.2

下载编译

目录下就是编译完成的文件,接下来我们就通过这个进行集群环境部署

DNS修改

修改/etc/hosts文件添加如下地址,为了配置的方便,我们修改虚拟机的本地DNS,便于配置文件的操作

192.168.211.11 rocketmq1
192.168.211.12 rocketmq2
broker配置文件

在正式启动前我们需要先将集群环境需要的配置文件配置好,根据官网说明我们需要修改部分参数,这里我们直接修改conf/2m‐2s‐sync目录下的配置文件来完成

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

brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
#nameServer地址,分号分割
namesrvAddr=rocketmq1:9876;rocketmq2:9876
#Broker 对外服务的监听端口
listenPort=10911
#存储路径
storePathRootDir=/root/rocketmq-m/store
#commitLog 存储路径
storePathCommitLog=/root/rocketmq-m/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/root/rocketmq-m/store/consumequeue
#消息索引存储路径
storePathIndex=/root/rocketmq-m/store/index
#checkpoint 文件存储路径
storeCheckpoint=/root/rocketmq-m/store/checkpoint
#abort 文件存储路径
abortFile=/root/rocketmq-m/store/abort

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

brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=1
deleteWhen=04
fileReservedTime=48
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值