栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Rocketmq 双主双从集群搭建

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Rocketmq 双主双从集群搭建

rocketmq简介:RocketMQ 是阿里巴巴开源的分布式消息中间件。2017年捐献给apache开源基金会,次年成为apache顶级项目
是一个队列模型的消息中间件,具有高性能、高可靠、高实时、分布式等特点

liunx 下 rocketmq 双主双从集群搭建

IP地址 角色

192.168.180.133 master1

192.168.180.133 master2-slave

192.168.180.245 master2

192.168.180.245 master1-slave

安装部署:
1.下载:https://github.com/apache/rocketmq
2.上传133 和 245 服务器 解压
unzip rocketmq-all-4.9.2-bin-release.zip
3.创建持久化存储目录
a.主节点 目录

mkdir store
cd store/
mkdir commitlog
mkdir consumequeue
 mkdir index


b.从节点 目录

4.修改配置文件 133 配置文件修改 ,这里2m-2s-async表示双主双从异步
先修改133主节点
vim ./conf/2m-2s-async/broker-a.properties

brokerClusterName=rocketmq-cluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
namesrvAddr=192.168.180.133:9876;192.168.180.245:9876
listenPort=10911
#存储路径
storePathRootDir=/opt/software/rocketmq/rocketmq-4.9.2/store
#commitLog 存储路径
storePathCommitLog=/opt/software/rocketmq/rocketmq-4.9.2/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/opt/software/rocketmq/rocketmq-4.9.2/store/consumequeue
#消息索引存储路径
storePathIndex=/opt/software/rocketmq/rocketmq-4.9.2/store/index
#checkpoint 文件存储路径
storeCheckpoint=/opt/software/rocketmq/rocketmq-4.9.2/store/checkpoint
#abort 文件存储路径
abortFile=/opt/software/rocketmq/rocketmq-4.9.2/store/abort
brokerRole=SYNC_MASTER

修改133从节点

vim ./conf/2m-2s-async/broker-b-s.properties

brokerClusterName=rocketmq-cluster
brokerName=broker-b-s
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
namesrvAddr=192.168.180.133:9876;192.168.180.245:9876
listenPort=10921
#存储路径
storePathRootDir=/opt/software/rocketmq/rocketmq-4.9.2/store-s
#commitLog 存储路径
storePathCommitLog=/opt/software/rocketmq/rocketmq-4.9.2/store-s/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/opt/software/rocketmq/rocketmq-4.9.2/store-s/consumequeue
#消息索引存储路径
storePathIndex=/opt/software/rocketmq/rocketmq-4.9.2/store-s/index
#checkpoint 文件存储路径
storeCheckpoint=/opt/software/rocketmq/rocketmq-4.9.2/store-s/checkpoint
#abort 文件存储路径
abortFile=/opt/software/rocketmq/rocketmq-4.9.2/store-s/abort

同理 245 也需要配置

先修改245主节点
vim ./conf/2m-2s-async/broker-b.properties

brokerClusterName=rocketmq-cluster
brokerName=broker-b
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
namesrvAddr=192.168.180.133:9876;192.168.180.245:9876
listenPort=10911
#存储路径
storePathRootDir=/opt/software/rocketmq/rocketmq-4.9.2/store
#commitLog 存储路径
storePathCommitLog=/opt/software/rocketmq/rocketmq-4.9.2/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/opt/software/rocketmq/rocketmq-4.9.2/store/consumequeue
#消息索引存储路径
storePathIndex=/opt/software/rocketmq/rocketmq-4.9.2/store/index
#checkpoint 文件存储路径
storeCheckpoint=/opt/software/rocketmq/rocketmq-4.9.2/store/checkpoint
#abort 文件存储路径
abortFile=/opt/software/rocketmq/rocketmq-4.9.2/store/abort
brokerRole=SYNC_MASTER

修改245从节点

vim ./conf/2m-2s-async/broker-a-s.properties

brokerClusterName=rocketmq-cluster
brokerName=broker-a-s
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
listenPort=10921
namesrvAddr=192.168.180.133:9876;192.168.180.245:9876
#存储路径
storePathRootDir=/opt/software/rocketmq/rocketmq-4.9.2/store-s
#commitLog 存储路径
storePathCommitLog=/opt/software/rocketmq/rocketmq-4.9.2/store-s/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/opt/software/rocketmq/rocketmq-4.9.2/store-s/consumequeue
#消息索引存储路径
storePathIndex=/opt/software/rocketmq/rocketmq-4.9.2/store-s/index
#checkpoint 文件存储路径
storeCheckpoint=/opt/software/rocketmq/rocketmq-4.9.2/store-s/checkpoint
#abort 文件存储路径
abortFile=/opt/software/rocketmq/rocketmq-4.9.2/store-s/abort

5.启动133 和 245 nameserver

nohup sh ./bin/mqnamesrv &
6.启动133 和 245的broker
133环境 broker-a

  nohup sh mqbroker -c /opt/software/rocketmq/rocketmq-4.9.2/conf/2m-2s-async/broker-a.properties &
  133环境   broker-b-s
  nohup sh mqbroker -c /opt/software/rocketmq/rocketmq-4.9.2/conf/2m-2s-async/broker-b-s.properties &
  245环境   broker-b
  nohup sh mqbroker -c /opt/software/rocketmq/rocketmq-4.9.2/conf/2m-2s-async/broker-b.properties &
  245环境   broker-a-s
  nohup sh mqbroker -c /opt/software/rocketmq/rocketmq-4.9.2/conf/2m-2s-async/broker-a-s.properties &
 7启动后可以在 rocketmq-dashboard上查看
 github地址:https://github.com/apache/rocketmq-dashboard
 下载后修改配置文件:  nameserver地址换成自己的nameserve
 rocketmq:

config:
# if this value is empty,use env value rocketmq.config.namesrvAddr NAMESRV_ADDR | now, default localhost:9876
# configure multiple namesrv addresses to manage multiple different clusters
namesrvAddrs:
- 192.168.180.133:9876
- 192.168.180.245:9876

集群部署坑点:
1.java.net.BindException: 地址已在使用
从节点监听端口不能和主节点一样listenPort=10921 ,最好和主节点端口相隔大于2
2.节点启动后,在dashboard 刷新不可见,因为从节点配置文件没有注册到nameserver:namesrvAddr=192.168.180.133:9876;192.168.180.245:9876
3.rocketmq dashboard 始终只有一个broker-a,配置文件中brokerName 每个节点都不能相同

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/769400.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号