首页 > 其他分享 >RocketMQ多master多salve集群搭建

RocketMQ多master多salve集群搭建

时间:2024-09-26 12:21:11浏览次数:9  
标签:#- salve alibaba master RocketMQ var Master rocketmq

一、RocketMQ集群模式简介

单Master方式

风险比较大, 一旦Broker重启或者宕机, 将导致整个环境不可用, 不建议线上使用.

多Master模式

一个集群中没有slave, 全是master, 例如2个master或者3个master. 
优点:配置简单, 性能最好,单个Master宕机或重启对应用无影响, 磁盘配置为RAID10时, 即使机器宕机不可恢复, 由于RAID10磁盘非常可靠, 消息也不会丢(异步刷盘丢失少量信息, 同步刷盘一条不丢) 
缺点 : 单台机器宕机期间, 这个机器上未被消费消息在机器恢复之前不可订阅, 消息实时性受到影响 .

多Master多Slave模式, 异步复制

每个 Master 配置一个 Slave,有多对Master-Slave,采用异步复制方式,主备有短暂消息延迟,毫秒级。 
优点:即使磁盘损坏,消息丢失的非常少,且消息实时性不会受影响,因为Master 宕机后,消费者仍然可以从 Slave消费,此过程对应用透明。不需要人工干预。性能同Master 模式几乎一样。 
缺点:Master 宕机,磁盘损坏情况,会丢失少量消息。

多Master多Slave模式, 同步双写

每个 Master 配置一个 Slave,有多对Master-Slave,采用同步双写方式,主备都写成功,向应用返回成功。 
优点:数据与服务都无单点,Master宕机情况下,消息无延迟,服务可用性与数据可用性都非常高 
缺点:性能比异步复制模式略低,大约低 10%左右,发送单个消息的 RT会略高。目前主宕机后,备机不能自动切换为主机,后续会支持自动切换功能。

二、环境准备

1.集群角色及对应IP、主机环境

RocketMQ多master多salve集群搭建_线程池

2.相关软件版本

RocketMQ多master多salve集群搭建_配置文件_02

3.部署前环境准备:

1.关闭防火墙,关闭selinux(生产环境按需关闭或打开)
2.同步服务器时间,选择公网ntpd服务器或者自建ntpd服务器
  [root@es1 ~]# crontab -l #为了方便直接使用公网服务器
  #update time
  */5 * * * *  /usr/bin/rdate -s time-b.nist.gov &>/dev/null
3.安装配置Java环境
  可参考此文章Java环境安装部分
4.配置hosts(所有服务器)
  172.16.150.131 rocketmq_master_01
  172.16.150.132 rocketmq_master_02
  172.16.150.133 rocketmq_master_03
  172.16.150.134 rocketmq_slave_01
  172.16.150.135 rocketmq_slave_02
  172.16.150.136 rocketmq_slave_03

三、RocketMQ集群部署

1.解压RocketMQ到工作目录,并创建数据及日志目录(如果没有特别指定,以下操作均为在集群中所有机器上执行)

[root@rocketmq_master_01 ~]# tar xf alibaba-rocketmq-3.2.2.tar.gz -C /opt  #解压至/opt目录
[root@rocketmq_master_01 ~]# cd /opt && ln -sv alibaba-rocketmq-3.2.2  alibaba-rocketmq
[root@rocketmq_master_01 ~]# mkdir -p /var/alibaba-rocketmq/{commitlog,consumequeue,index,logs,namesrv}  #数据及日志目录
[root@rocketmq_master_01 ~]# tree /var/alibaba-rocketmq/
[root@rocketmq_master_01 ~]# ll /opt/

2.目录解析(根据部署的架构进入对应的目录)

[root@rocketmq_master_01 ~]# cd /opt/alibaba-rocketmq/conf/
[root@rocketmq-master1 conf]# ll
总用量 36
drwxr-xr-x 2 root root   118 2019-03-28 17:08 2m-2s-async    #多主多从异步刷新参考配置文件
drwxr-xr-x 2 root root   118 2019-03-28 17:08 2m-2s-sync   #多主多从同步刷新参考配置文件
drwxr-xr-x 2 root root   118 2019-06-04 10:10 2m-noslave   #多master参考配置文件
....
[root@rocketmq_master_01 conf]# mkdir 3m-3s-sync             #由于我们的架构为3主3从,所以新建一个目录
[root@rocketmq_master_01 conf]# cd 3m-3s-sync/

3.创建配置文件

创建、编辑集群broker配置文件

#所属集群名字
brokerClusterName=qgg_rocketmq-cluster

#broker名字,注意此处不同的配置文件填写的不一样,a.properties,就写broker-a,b的就填写b
brokerName=broker-a

#0 表示 Master,>0 表示 Slave
brokerId=0

#nameServer地址,分号分割
namesrvAddr=rocketmq_master_01:9876;rocketmq_master_02:9876;rocketmq_master_03:9876

#在发送消息时,自动创建服务器不存在的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

#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88

#存储路径
storePathRootDir=/var/alibaba-rocketmq/
#commitLog 存储路径
storePathCommitLog=/var/alibaba-rocketmq/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/var/alibaba-rocketmq/consumequeue
#消息索引存储路径
storePathIndex=/var/alibaba-rocketmq/index
#checkpoint 文件存储路径
storeCheckpoint=/var/alibaba-rocketmq/checkpoint
#abort 文件存储路径
abortFile=/var/alibaba-rocketmq/abort
#限制的消息大小
#maxMessageSize=65536

#刷CommitLog,至少刷几个PAGE
#flushCommitLogLeastPages=4

#刷ConsumeQueue,至少刷几个PAGE
#flushConsumeQueueLeastPages=2

#刷CommitLog,彻底刷盘间隔时间
#flushCommitLogThoroughInterval=10000

#刷ConsumeQueue,彻底刷盘间隔时间
#flushConsumeQueueThoroughInterval=60000 

#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SYNC_MASTER

#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH

#检查事务消息,开源版本4.3之前没有事务功能
checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128

#拉消息线程池数量
#pullMessageThreadPoolNums=128

#绑定IP地址,如果有多个网卡接口需要配置,否则报错
brokerIP1=172.16.150.131

#Netty服务工作线程数量
serverWorkerThreads = 8

#Netty服务异步回调线程池线程数量
serverCallbackExecutorThreads = 2

#Netty Selector线程数量
serverSelectorThreads = 3

#控制单向的信号量 一次请求没有响应
serverOnewaySemaphoreValue = 256

#控制异步信号量
serverAsyncSemaphoreValue = 64

#服务空闲心跳检测时间间隔 单位秒
serverChannelMaxIdleTimeSeconds = 120

#Netty发送缓冲区大小
serverSocketSndBufSize = 65535

#Netty接受缓冲区大小
serverSocketRcvBufSize = 65535

#是否使用Netty内存池
serverPooledByteBufAllocatorEnable = true

broker-a.properties

#所属集群名字
brokerClusterName=qgg_rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样,a.properties,就写broker-a,b的就填写b
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=rocketmq_master_01:9876;rocketmq_master_02:9876;rocketmq_master_03:9876
#在发送消息时,自动创建服务器不存在的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=/var/alibaba-rocketmq/
#commitLog 存储路径
storePathCommitLog=/var/alibaba-rocketmq/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/var/alibaba-rocketmq/consumequeue
#消息索引存储路径
storePathIndex=/var/alibaba-rocketmq/index
#checkpoint 文件存储路径
storeCheckpoint=/var/alibaba-rocketmq/checkpoint
#abort 文件存储路径
abortFile=/var/alibaba-rocketmq/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
#绑定IP地址,如果有多个网卡接口需要配置,否则报错
brokerIP1=172.16.150.132

#Netty服务工作线程数量
serverWorkerThreads = 8

#Netty服务异步回调线程池线程数量
serverCallbackExecutorThreads = 2

#Netty Selector线程数量
serverSelectorThreads = 3

#控制单向的信号量 一次请求没有响应
serverOnewaySemaphoreValue = 256

#控制异步信号量
serverAsyncSemaphoreValue = 64

#服务空闲心跳检测时间间隔 单位秒
serverChannelMaxIdleTimeSeconds = 120

#Netty发送缓冲区大小
serverSocketSndBufSize = 65535

#Netty接受缓冲区大小
serverSocketRcvBufSize = 65535

#是否使用Netty内存池
serverPooledByteBufAllocatorEnable = true

broker-b.properties

#所属集群名字
brokerClusterName=qgg_rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样,a.properties,就写broker-a,b的就填写b
brokerName=broker-c
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=rocketmq_master_01:9876;rocketmq_master_02:9876;rocketmq_master_03:9876
#在发送消息时,自动创建服务器不存在的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=/var/alibaba-rocketmq/
#commitLog 存储路径
storePathCommitLog=/var/alibaba-rocketmq/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/var/alibaba-rocketmq/consumequeue
#消息索引存储路径
storePathIndex=/var/alibaba-rocketmq/index
#checkpoint 文件存储路径
storeCheckpoint=/var/alibaba-rocketmq/checkpoint
#abort 文件存储路径
abortFile=/var/alibaba-rocketmq/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
brokerIP1=172.16.150.133

broker-c.properties

#所属集群名字
brokerClusterName=qgg_rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样,a.properties,就写broker-a,b的就填写b
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=rocketmq_master_01:9876;rocketmq_master_02:9876;rocketmq_master_03:9876
#在发送消息时,自动创建服务器不存在的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=/var/alibaba-rocketmq/
#commitLog 存储路径
storePathCommitLog=/var/alibaba-rocketmq/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/var/alibaba-rocketmq/consumequeue
#消息索引存储路径
storePathIndex=/var/alibaba-rocketmq/index
#checkpoint 文件存储路径
storeCheckpoint=/var/alibaba-rocketmq/checkpoint
#abort 文件存储路径
abortFile=/var/alibaba-rocketmq/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=SYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128
brokerIP1=172.16.150.134

broker-a-s.properties

#所属集群名字
brokerClusterName=qgg_rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样,a.properties,就写broker-a,b的就填写b
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=rocketmq_master_01:9876;rocketmq_master_02:9876;rocketmq_master_03:9876
#在发送消息时,自动创建服务器不存在的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=/var/alibaba-rocketmq/
#commitLog 存储路径
storePathCommitLog=/var/alibaba-rocketmq/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/var/alibaba-rocketmq/consumequeue
#消息索引存储路径
storePathIndex=/var/alibaba-rocketmq/index
#checkpoint 文件存储路径
storeCheckpoint=/var/alibaba-rocketmq/checkpoint
#abort 文件存储路径
abortFile=/var/alibaba-rocketmq/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=SYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128
brokerIP1=172.16.150.135

broker-b-s.properties

#所属集群名字
brokerClusterName=qgg_rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样,a.properties,就写broker-a,b的就填写b
brokerName=broker-c
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=rocketmq_master_01:9876;rocketmq_master_02:9876;rocketmq_master_03:9876
#在发送消息时,自动创建服务器不存在的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=/var/alibaba-rocketmq/
#commitLog 存储路径
storePathCommitLog=/var/alibaba-rocketmq/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/var/alibaba-rocketmq/consumequeue
#消息索引存储路径
storePathIndex=/var/alibaba-rocketmq/index
#checkpoint 文件存储路径
storeCheckpoint=/var/alibaba-rocketmq/checkpoint
#abort 文件存储路径
abortFile=/var/alibaba-rocketmq/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=SYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128
brokerIP1=172.16.150.136

broker-c-s.properties

以上配置文件需要设置不同值的选项为:

brokerId      #0 表示 Master,>0 表示 Slave
brokerRole    #Broker 的角色
                   #- ASYNC_MASTER 异步复制Master
                   #- SYNC_MASTER 同步双写Master
                   #- SLAVE
brokerIP1     #本机提供服务的IP地址   

补充一个配置:
    slaveReadEnable=true  #建议开启,默认关闭

创建、编辑集群nameserver配置文件

[root@rocketmq_master_01 conf]# cat namesrv.properties 
listenPort = 9876
serverWorkerThreads = 8
serverCallbackExecutorThreads = 2
serverSelectorThreads = 3
serverOnewaySemaphoreValue = 256
serverAsyncSemaphoreValue = 64
serverChannelMaxIdleTimeSeconds = 120
serverSocketSndBufSize = 65535
serverSocketRcvBufSize = 65535
serverPooledByteBufAllocatorEnable = true
kvConfigPath=/var/alibaba-rocketmq/namesrv/

4.修改log及数据路径

[root@rocketmq_master_01 3m-3s-sync]# cd /opt/alibaba-rocketmq/conf/
[root@rocketmq_master_01 conf]# sed -i 's#${user.home}#/var/alibaba-rocketmq#g' *.xml    #默认路径为用户家目录下

5.修改服务启动脚本参数 

[root@rocketmq_master_01 conf]# cd ../bin/
[root@rocketmq_master_01 bin]# pwd
/opt/alibaba-rocketmq/bin
[root@rocketmq_master_01]# vim runbroker.sh   #broker的启动脚本

RocketMQ多master多salve集群搭建_线程池_03

[root@rocketmq_master_01 bin]# vim runserver.sh  #nameserver启动脚本

RocketMQ多master多salve集群搭建_配置文件_04

6.先依次启动nameserver服务(必须)

[root@rocketmq_master_01 bin]# cd /opt/alibaba-rocketmq/bin
[root@rocketmq_master_01 bin]# nohup sh mqnamesrv &   #启动服务
[root@rocketmq_master_01 bin]# tailf /var/alibaba-rocketmq/logs/rocketmqlogs/namesrv.log  #查看打印日志是否异常

7.启动broker服务

[root@rocketmq_master_01 bin]#nohup sh mqbroker -c /opt/alibaba-rocketmq/conf/3m-3s-sync/broker-a.properties &  #注意,每台服务启动时指定的配置文件也要同时改变
[root@rocketmq_master_01 bin]# tailf /var/alibaba-rocketmq/logs/rocketmqlogs/broker.log

四、部署rockmq-console

由于当前rocketmq版本较低,使用最新的rocketmq-console会有部分信息丢失的情况,只能使用较低版本的,这里使用的版本为rocketmq-console-3.2.6,依赖Tomcat容器,具体操作步骤为,:

1.unzip解压war包 -d指定到某个目录,
2.进入解压目录下WEB-INF/classes/目录中
3.修改config.properties配置文件,添加name server地址,格式IP(域名):port  如果有多个,已;为分割
4.将目录移动到Tomcat docBase目录下,并启动

资源链接地址:

链接:https://pan.baidu.com/s/10NeEeBH8eugdYcDn6e02aQ  提取码:aq1t

界面展示:

RocketMQ多master多salve集群搭建_配置文件_05

通过console可以看到,当前共有三个broker,每个broker有两台服务器

注意事项:

1.配置文件名称和服务器对应,a:master1 b:master2 ..
2.注意不同主机配置文件名称不同,brokerNam也不同
3.每台briker服务启动时,注意要指定正确的配置文件
4.建议生产每个服务使用screen命令启动,不要使用nohup

参考文档:

https://github.com/apache/rocketmq-externals/tree/release-rocketmq-console-1.0.0/rocketmq-console

https://github.com/apache/rocketmq-externals/blob/master/rocketmq-console/doc/1_0_0/UserGuide_CN.md

http://rocketmq.apache.org/docs/quick-start/



"一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少



标签:#-,salve,alibaba,master,RocketMQ,var,Master,rocketmq
From: https://blog.51cto.com/u_8901540/12118344

相关文章

  • RocketMQ 基本概念
    RocketMQ的由来随着使⽤中队列和虚拟主题的增加,阿⾥巴巴团队使⽤的ActiveMQIO模块达到了瓶颈。为了尽⼒通过节流、断路器或降级来解决这个问题,但效果不佳。所以开始关注当时流⾏的消息传递解决⽅案Kafka。不幸的是,Kafka⽆法满⾜要求(在这么多消息队列中间,kafka......
  • k8s集群,master节点的初始化所用到的,init文件的分析,master节点的核心组件的作用,node节
    标准的k8s集群有三个组成部分管理控制节点、计算节点、私有镜像仓库。管理控制节点的功能:提供集群的控制对集群进行全局决策检测和响应集群事件管理控制节点中有四大核心服务服务端口含义用途APIServer6443api接口负责接收请求,实现功能Scheduler......
  • 深入剖析RocketMQ消息消费原理
    本文参考转载至《RocketMQ技术内幕第2版》一.消息消费概述消息消费以组的模式开展,一个消费组可以包含多个消费者,每个消费组可以订阅多个主题,消费组之间有集群模式和广播模式两种消费模式。集群模式是当前主题下的同一条消息只允许被其中一个消费者消费。广播模式是当前主题......
  • 测试环境路由可以这么做(六):RocketMQ增强
    现状消息队列的处理在测试环境路由中是非常特殊的存在,据说阿里ToG的团队都没有搞定RocketMQ。知道了这个消息,我们还是很值得骄傲的!!!消息队列有多种实现,当时我们公司同时使用了RabbitMQ、ActiveMQ、Kafka、RocketMQ四种,但业务主要使用的是ActiveMQ,未来计划统一为RocketMQ,所以......
  • RocketMq详解:一、RocketMQ 介绍及基本概念
    文章目录前言1.RocketMQ简介2.RocketMQ特点3.核心特性4.应用场景5.RocketMQ优势6.RocketMQ四大核心组件6.1NameServer1.NameServer作用2.NameServer被设计为无状态的原因3.和NameServer和Zookeeper的区别4.NameServer的高可用保障6.2Broker1.Broker部署方式2.高可用与负......
  • class 020 递归和master公式
    这篇文章是看了“左程云”老师在b站上的讲解之后写的,自己感觉已经能理解了,所以就将整个过程写下来了。这个是“左程云”老师个人空间的b站的链接,数据结构与算法讲的很好很好,希望大家可以多多支持左程云老师,真心推荐.https://space.bilibili.com/8888480?spm_id_......
  • 【Java】若依框架(RuoYi-master)——8.文件上传
     若依框架的自带上传和下载功能,但需要我们进行恰当的操作(具体也可以参考示例和源码)。 新建表格新建一张学生信息表(这里的字段、文件路径、文件名称与改说明相关):DROPTABLEIFEXISTS`sys_student`;CREATETABLE`sys_student`(`student_id`intNOTNULLAUTO_INCRE......
  • RocketMQ QandA
    RocKetMQ消费消息是推送还是拉取在RocketMQ中,消息的消费可以是推送(Push)模式,也可以是拉取(Pull)模式。拉取模式(Pull):消费者主动去Broker端拉取消息。消费端会定期或按需拉取消息,根据自己的消费速度进行控制。这种模式下,消费者可以控制自己什么时候拉取消息以及拉取的速率,更适合......
  • docker-compose 安装activemq、rocketmq
    目录结构创建目录#activemq目录mkdir-p/docker/activemq/datamkdir-p/docker/activemq/conf#rocket目录mkdir-p/docker/rocketmq/broker1/confmkdir-p/docker/rocketmq/broker1/logsmkdir-p/docker/rocketmq/broker1/storemkdir-p/docker/rocketmq/names......
  • k8s中master无法访问NodePort,普通节点可以
    我的是ens33下有两个ip:  移除不想要的ip(不是我们设置的静态ip): 临时(重启后失效):sudoipaddrdel192.168.87.132/24devens33 #删除所有pod让他们再创建 kubectldeletepods--all--all-namespaces 永久(不要dhcp):sudovi/etc/sysconfig/network-scripts/ifcf......