rocketmq 双主双从同步写安装部署
1,机器ip
软件版本
jdk-8u131-linux-x64.tar.gz
rocketmq-all-4.2.0-bin-release.zip
rocketmq-console-ng-1.0.0.jar
10.15.10.238 HNVM015238 nameserver1 rocketmq-master a rocketmq-slave b
10.15.10.239 HNVM015239 nameserver2 rocketmq-master b rocketmq-slave a
2,配置hosts
[root@HNVM015238 ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.15.10.238 rocketmq-nameserver1 10.15.10.238 rocketmq-master1 10.15.10.239 rocketmq-nameserver2 10.15.10.239 rocketmq-master2 10.15.10.239 rocketmq-slave1 10.15.10.238 rocketmq-slave2 10.15.10.238 HNVM015238[root@HNVM015239 ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.15.10.238 rocketmq-nameserver1 10.15.10.238 rocketmq-master1 10.15.10.239 rocketmq-nameserver2 10.15.10.239 rocketmq-master2 10.15.10.239 rocketmq-slave1 10.15.10.238 rocketmq-slave2 10.15.10.239 HNVM015239
3,解压放到软件部署目录
/app/rocketmq,新建存储目录
配置Java,rocketmq 环境
export JAVA_HOME=/app/jdk1.8.0_131export PATH=$JAVA_HOME/bin:/app/rocketmq/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
10.15.10.238 机器上操作,建立a-master 和 b-slave 目录
mkdir /app/rocketmq/broker-a-master/store
mkdir /app/rocketmq/broker-b-slave/store
cd /app/rocketmq/conf/2m-2s-sync
[root@HNVM015238 2m-2s-sync]# cat broker-a.properties
#所属集群名字 brokerClusterName=rocketmq-ztqy-test#broker名字,注意此处不同的配置文件填写的不一样 brokerName=broker-a#0 表示 Master,>0 表示 SlavebrokerId=0#nameServer地址,分号分割namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数defaultTopicQueueNums=4#是否允许 Broker自动创建Topic,建议线下开启,线上关闭autoCreateTopicEnable=true#是否允许 Broker自动创建订阅组,建议线下开启,线上关闭autoCreateSubscriptionGroup=true#Broker 对外服务的监听端口listenPort=10911#删除文件时间点,默认凌晨 4点deleteWhen=01#文件保留时间,默认 48 小时fileReservedTime=72#commitLog每个文件的大小默认1GmapedFileSizeCommitLog=1073741824#ConsumeQueue每个文件默认存30W条,根据业务情况调整mapedFileSizeConsumeQueue=300000 #destroyMapedFileIntervalForcibly=120000 #redeleteHangedFileInterval=120000 #检测物理文件磁盘空间 diskMaxUsedSpaceRatio=88 #存储路径 storePathRootDir=/app/rocketmq/broker-a-master/store #commitLog 存储路径 storePathCommitLog=/app/rocketmq/broker-a-master/store/commitlog#消费队列存储路径存储路径 storePathConsumeQueue=/app/rocketmq/broker-a-master/store/consumequeue#消息索引存储路径 storePathIndex=/app/rocketmq/broker-a-master/store/index#checkpoint 文件存储路径 storeCheckpoint=/app/rocketmq/broker-a-master/store/checkpoint#abort 文件存储路径 abortFile=/app/rocketmq/broker-a-master/store/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 #拉消息线程池数量 #pullMessaeThreadPoolNums=128
[root@HNVM015238 2m-2s-sync]# cat broker-b-s.properties
#所属集群名字 brokerClusterName=rocketmq-ztqy-test #broker名字,注意此处不同的配置文件填写的不一样 brokerName=broker-b#0 表示 Master,>0 表示 Slave brokerId=1#nameServer地址,分号分割 namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 defaultTopicQueueNums=4#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭 autoCreateTopicEnable=true#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭 autoCreateSubscriptionGroup=true#Broker 对外服务的监听端口 listenPort=10920#删除文件时间点,默认凌晨 4点 deleteWhen=01#文件保留时间,默认 48 小时 fileReservedTime=72#commitLog每个文件的大小默认1G mapedFileSizeCommitLog=1073741824#ConsumeQueue每个文件默认存30W条,根据业务情况调整 mapedFileSizeConsumeQueue=300000 #destroyMapedFileIntervalForcibly=120000 #redeleteHangedFileInterval=120000 #检测物理文件磁盘空间 diskMaxUsedSpaceRatio=88#存储路径 storePathRootDir=/app/rocketmq/broker-b-slave/store#commitLog 存储路径 storePathCommitLog=/app/rocketmq/broker-b-slave/store/commitlog#消费队列存储路径存储路径 storePathConsumeQueue=/app/rocketmq/broker-b-slave/store/consumequeue#消息索引存储路径 storePathIndex=/app/rocketmq/broker-b-slave/store/index#checkpoint 文件存储路径 storeCheckpoint=/app/rocketmq/broker-b-slave/store/checkpoint#abort 文件存储路径 abortFile=/app/rocketmq/broker-b-slave/store/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 #拉消息线程池数量 #pullMessaeThreadPoolNums=128
10.15.10.239 机器上操作,建立b-master 和 a-slave 目录
mkdir /app/rocketmq/broker-b-master/store
mkdir /app/rocketmq/broker-a-slave/store
[root@HNVM015239 2m-2s-sync]# cat broker-a-s.properties
#所属集群名字 brokerClusterName=rocketmq-ztqy-test#broker名字,注意此处不同的配置文件填写的不一样 brokerName=broker-a#0 表示 Master,>0 表示 Slave brokerId=1#nameServer地址,分号分割 namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 defaultTopicQueueNums=4#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭 autoCreateTopicEnable=true#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭 autoCreateSubscriptionGroup=true#Broker 对外服务的监听端口 listenPort=10920#删除文件时间点,默认凌晨 4点 deleteWhen=01#文件保留时间,默认 48 小时 fileReservedTime=72#commitLog每个文件的大小默认1G mapedFileSizeCommitLog=1073741824#ConsumeQueue每个文件默认存30W条,根据业务情况调整 mapedFileSizeConsumeQueue=300000 #destroyMapedFileIntervalForcibly=120000 #redeleteHangedFileInterval=120000 #检测物理文件磁盘空间 diskMaxUsedSpaceRatio=88#存储路径 storePathRootDir=/app/rocketmq/broker-a-slave/store#commitLog 存储路径 storePathCommitLog=/app/rocketmq/broker-a-slave/store/commitlog#消费队列存储路径存储路径 storePathConsumeQueue=/app/rocketmq/broker-a-slave/store/consumequeue#消息索引存储路径 storePathIndex=/app/rocketmq/broker-a-slave/store/index#checkpoint 文件存储路径 storeCheckpoint=/app/rocketmq/broker-a-slave/store/checkpoint#abort 文件存储路径 abortFile=/app/rocketmq/broker-a-slave/store/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 #拉消息线程池数量 #pullMessaeThreadPoolNums=128
[root@HNVM015239 2m-2s-sync]# cat broker-b.properties
#所属集群名字 brokerClusterName=rocketmq-ztqy-test#broker名字,注意此处不同的配置文件填写的不一样 brokerName=broker-b#0 表示 Master,>0 表示 Slave brokerId=0#nameServer地址,分号分割 namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 defaultTopicQueueNums=4#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭 autoCreateTopicEnable=true#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭 autoCreateSubscriptionGroup=true#Broker 对外服务的监听端口 listenPort=10911#删除文件时间点,默认凌晨 4点 deleteWhen=01#文件保留时间,默认 48 小时 fileReservedTime=72#commitLog每个文件的大小默认1G mapedFileSizeCommitLog=1073741824#ConsumeQueue每个文件默认存30W条,根据业务情况调整 mapedFileSizeConsumeQueue=300000 #destroyMapedFileIntervalForcibly=120000 #redeleteHangedFileInterval=120000 #检测物理文件磁盘空间 diskMaxUsedSpaceRatio=88#存储路径 storePathRootDir=/app/rocketmq/broker-b-master/store #commitLog 存储路径 storePathCommitLog=/app/rocketmq/broker-b-master/store/commitlog#消费队列存储路径存储路径 storePathConsumeQueue=/app/rocketmq/broker-b-master/store/consumequeue#消息索引存储路径 storePathIndex=/app/rocketmq/broker-b-master/store/index#checkpoint 文件存储路径 storeCheckpoint=/app/rocketmq/broker-b-master/store/checkpoint#abort 文件存储路径 abortFile=/app/rocketmq/broker-b-master/store/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 #拉消息线程池数量 #pullMessaeThreadPoolNums=128
4,启动nameserver
10.15.10.238 机器上操作
cd /app/rocketmq/logsnohup sh /app/rocketmq/bin/mqnamesrv > mqnamesrv.log &启动238 a -masternohup sh /app/rocketmq/bin/mqbroker -c /app/rocketmq/conf/2m-2s-sync/broker-a.properties > broker-a.log &启动238 b-slavenohup sh /app/rocketmq/bin/mqbroker -c /app/rocketmq/conf/2m-2s-sync/broker-b-s.properties > broker-b-s.log &[root@HNVM015238 2m-2s-sync]# jps5014 NamesrvStartup 5049 BrokerStartup 5151 BrokerStartup 18271 Jps
查看 9876 10919 10920 端口是否起来
10.15.10.239操作
cd /app/rocketmq/logsnohup sh /app/rocketmq/bin/mqnamesrv > mqnamesrv.log &启动239 b -masternohup sh /app/rocketmq/bin/mqbroker -c /app/rocketmq/conf/2m-2s-sync/broker-b.properties > broker-b.log &
启动239 a-slave
nohup sh /app/rocketmq/bin/mqbroker -c /app/rocketmq/conf/2m-2s-sync/broker-a-s.properties > broker-a-s.log &[root@HNVM015239 2m-2s-sync]# jps3154 BrokerStartup 3243 BrokerStartup 4701 Jps 3103 NamesrvStartup
查看 9876 10919 10920 端口是否起来
5,安装console web界面
在10.15.10.238上操作
直接执行
nohup java -jar rocketmq-console-ng-1.0.0.jar --server.port=12581 --rocketmq.config.namesrvAddr=10.15.10.238:9876;10.15.10.239:9876 > rocketmq-console.log 2&>1 &
如果卡住 进不了后台
就新建一个脚本
[root@HNVM015238 jar]# cat start_console.sh
#!/bin/sh nohup java -jar /root/jar/rocketmq-console-ng-1.0.0.jar --server.port=12581 --rocketmq.config.namesrvAddr=10.15.10.238:9876;10.15.10.239:9876 > rocketmq-console.log 2&>1 & echo Start Success!
检测12581 端口是否启动OK
浏览器输入10.15.10.238:12581 显示rocketmq-ztqy-test 集群有4台broker 即成功
[root@HNVM015239 2m-2s-sync]#/app/rocketmq/bin/mqadmin clusterlist -n 10.15.10.238:9876#Cluster Name #Broker Name #BID #Addr #Version #InTPS(LOAD) #OutTPS(LOAD) #PCWait(ms) #Hour #SPACE rocketmq-ztqy-test broker-a 0 10.15.10.238:10911 V4_2_0_SNAPSHOT 0.00(0,0ms) 0.00(0,0ms) 0 423898.87 0.0055 rocketmq-ztqy-test broker-a 1 10.15.10.239:10920 V4_2_0_SNAPSHOT 0.00(0,0ms) 0.00(0,0ms) 0 423898.87 0.0044 rocketmq-ztqy-test broker-b 0 10.15.10.239:10911 V4_2_0_SNAPSHOT 0.00(0,0ms) 0.00(0,0ms) 0 423898.87 -1.0000 rocketmq-ztqy-test broker-b 1 10.15.10.238:10920 V4_2_0_SNAPSHOT 0.00(0,0ms) 0.00(0,0ms) 0 423898.87 0.0055 [root@HNVM015239 2m-2s-sync]#
问题备注:
1,如果提示启动broker 失败 ,检测日志提示locked faild ,already 检查 端口是否区分 ,存储目录是否区分
2,配置文件要注意空格
转载于:https://www.cnblogs.com/cmttys/p/9026283.html
rocketmq 双主双从同步写安装部署相关推荐
- Linux教程:RocketMq介绍以及集群服务搭建(双主双从同步双写)并安装可视化平台RocketMq-Dashboard
一.介绍 1.什么是MQ MQ(Message Queue)消息队列,是基础数据结构中"先进先出"的一种数据结构.一般用来解决应用解耦,异步消息,流量削峰等问题,实现高性能,高可用 ...
- Mysql 集群双主双从安装使用详细讲解
文章目录 下载Mysql 安装单机Mysql 配置Mysql集群 双Master配置 master1配置 master2配置 配置说明 双Slave配置 Slave1配置 Slave2配置 双 Mas ...
- 高可用Mysql架构_Mysql主从复制、Mysql双主热备、Mysql双主双从、Mysql读写分离(Mycat中间件)、Mysql分库分表架构(Mycat中间件)的演变...
[Mysql主从复制] 解决的问题 数据分布:比如一共150台机器,分别往电信.网通.移动各放50台,这样无论在哪个网络访问都很快.其次按照地域,比如国内国外,北方南方,这样地域性访问解决了. 负载均 ...
- Mycat实现Mysql的一主一从和双主双从读写分离
前提是: 已经有了一主一从的Mysql服务架构. 已经安装启动好了mycat.并对mycat有一定了解. 实现 修改mycat的schema配置文件: <!--schema 标签用于定义 MyC ...
- 数据库读写分离(单主单从+双主双从)
单主单从 name ip node1 192.168.44.100 安装mycat node5 192.168.44.33 主 node3 192.168.44.11 从 读写分离的前提是首先要先将数 ...
- MyCat实现MySQL读写分离(双主双从多库)
在数据库集群架构中,主数据库负责处理事务性查询(写入操作),而从数据库只负责处理select查询(读操作),这样可以提高数据库整体读写性能.主数据库另外一个功能就是负责将数据变更同步到从数据库中. 读 ...
- 【mysql】mysql的数据库主从2(双主双从)
在搭建mysql的数据库双主双从之前,我们在四台不同的服务器上搭建mysql数据库,安装的步骤在下面的博客中: linux安装mysql :https://blog.csdn.net/wangyunz ...
- MyCat学习:使用MySQL搭建主从复制(双主双从模式)
首先,上一篇我们建立了一主一丛模式的MySQL读写分离 点击这里 那么接下来,我们搭建双主双从模式的读写分离,并且使用MyCat登录访问 原理:master1,master2,slave1,slave ...
- 双主双从(2m-2s)集群介绍和工作流程说明
双主双从集群搭建 总体架构 消息高可用采用2m-2s(同步双写)方式 集群工作流程 启动NameServer,NameServer起来后监听端口,等待Broker.Producer.Consumer连 ...
- Centos6.9下RocketMQ3.4.6高可用集群部署记录(双主双从+Nameserver+Console)
之前的文章已对RocketMQ做了详细介绍,这里就不再赘述了,下面是本人在测试和生产环境下RocketMQ3.4.6高可用集群的部署手册,在此分享下: 1) 基础环境 ip地址 主机名 角色 192. ...
最新文章
- JavaScript创建对象的两种方法和遍历对象的属性
- Linux CP文件夹略过目录的解决
- java中FileInputStream和OutputStream解析
- vue中标签自定义属性的使用
- 深度学习数据预处理——批标准化(Batch Normalization)
- python语言折半查找_C语言折半查找 - 胡若晨的个人空间 - OSCHINA - 中文开源技术交流社区...
- 缩进一个字符_韩语毕业论文排版之 学会悬挂缩进,不再天天敲空格!
- AKS解决方案架构设计
- 【Excel】多元一次方程组求解计算器
- 以后你肯定会用到的,25个常用Matplotlib图的Python代码,可以不会不能没有,建议收藏
- 智能电销机器人语音自动外呼效果好吗
- 数据字典的作用是什么,它有哪些条目?
- 【转载】SQL中declare申明变量 declare @id int
- Postaman 报错:Could not get the lock, quitting
- 同一样商品,不同颜色和尺码的批量新增
- 我怀疑京东神秘部门Y,悟出智能供应链真相了
- python编写判断素数的函数并找出前五个摩尼森数_五十八、如何对一个数进行分解质因数...
- 全国计算机等级考试一级(WIN7+OFFICE2010)作题练习指导
- Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1;
- eclipse配置python开发环境_Eclipse配置python开发环境