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 双主双从同步写安装部署相关推荐

  1. Linux教程:RocketMq介绍以及集群服务搭建(双主双从同步双写)并安装可视化平台RocketMq-Dashboard

    一.介绍 1.什么是MQ MQ(Message Queue)消息队列,是基础数据结构中"先进先出"的一种数据结构.一般用来解决应用解耦,异步消息,流量削峰等问题,实现高性能,高可用 ...

  2. Mysql 集群双主双从安装使用详细讲解

    文章目录 下载Mysql 安装单机Mysql 配置Mysql集群 双Master配置 master1配置 master2配置 配置说明 双Slave配置 Slave1配置 Slave2配置 双 Mas ...

  3. 高可用Mysql架构_Mysql主从复制、Mysql双主热备、Mysql双主双从、Mysql读写分离(Mycat中间件)、Mysql分库分表架构(Mycat中间件)的演变...

    [Mysql主从复制] 解决的问题 数据分布:比如一共150台机器,分别往电信.网通.移动各放50台,这样无论在哪个网络访问都很快.其次按照地域,比如国内国外,北方南方,这样地域性访问解决了. 负载均 ...

  4. Mycat实现Mysql的一主一从和双主双从读写分离

    前提是: 已经有了一主一从的Mysql服务架构. 已经安装启动好了mycat.并对mycat有一定了解. 实现 修改mycat的schema配置文件: <!--schema 标签用于定义 MyC ...

  5. 数据库读写分离(单主单从+双主双从)

    单主单从 name ip node1 192.168.44.100 安装mycat node5 192.168.44.33 主 node3 192.168.44.11 从 读写分离的前提是首先要先将数 ...

  6. MyCat实现MySQL读写分离(双主双从多库)

    在数据库集群架构中,主数据库负责处理事务性查询(写入操作),而从数据库只负责处理select查询(读操作),这样可以提高数据库整体读写性能.主数据库另外一个功能就是负责将数据变更同步到从数据库中. 读 ...

  7. 【mysql】mysql的数据库主从2(双主双从)

    在搭建mysql的数据库双主双从之前,我们在四台不同的服务器上搭建mysql数据库,安装的步骤在下面的博客中: linux安装mysql :https://blog.csdn.net/wangyunz ...

  8. MyCat学习:使用MySQL搭建主从复制(双主双从模式)

    首先,上一篇我们建立了一主一丛模式的MySQL读写分离 点击这里 那么接下来,我们搭建双主双从模式的读写分离,并且使用MyCat登录访问 原理:master1,master2,slave1,slave ...

  9. 双主双从(2m-2s)集群介绍和工作流程说明

    双主双从集群搭建 总体架构 消息高可用采用2m-2s(同步双写)方式 集群工作流程 启动NameServer,NameServer起来后监听端口,等待Broker.Producer.Consumer连 ...

  10. Centos6.9下RocketMQ3.4.6高可用集群部署记录(双主双从+Nameserver+Console)

    之前的文章已对RocketMQ做了详细介绍,这里就不再赘述了,下面是本人在测试和生产环境下RocketMQ3.4.6高可用集群的部署手册,在此分享下: 1) 基础环境 ip地址 主机名 角色 192. ...

最新文章

  1. JavaScript创建对象的两种方法和遍历对象的属性
  2. Linux CP文件夹略过目录的解决
  3. java中FileInputStream和OutputStream解析
  4. vue中标签自定义属性的使用
  5. 深度学习数据预处理——批标准化(Batch Normalization)
  6. python语言折半查找_C语言折半查找 - 胡若晨的个人空间 - OSCHINA - 中文开源技术交流社区...
  7. 缩进一个字符_韩语毕业论文排版之 学会悬挂缩进,不再天天敲空格!
  8. AKS解决方案架构设计
  9. 【Excel】多元一次方程组求解计算器
  10. 以后你肯定会用到的,25个常用Matplotlib图的Python代码,可以不会不能没有,建议收藏
  11. 智能电销机器人语音自动外呼效果好吗
  12. 数据字典的作用是什么,它有哪些条目?
  13. 【转载】SQL中declare申明变量 declare @id int
  14. Postaman 报错:Could not get the lock, quitting
  15. 同一样商品,不同颜色和尺码的批量新增
  16. 我怀疑京东神秘部门Y,悟出智能供应链真相了
  17. python编写判断素数的函数并找出前五个摩尼森数_五十八、如何对一个数进行分解质因数...
  18. 全国计算机等级考试一级(WIN7+OFFICE2010)作题练习指导
  19. Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1;
  20. eclipse配置python开发环境_Eclipse配置python开发环境

热门文章

  1. php中的加密解密模块-mcrypt
  2. 【LeetCode】59. Spiral Matrix II
  3. 细数那些不能直视的IE6BUG
  4. MyEclipse开启服务器时总是进入Debug模式
  5. Angularjs中设置cookies的过期时间
  6. C#、JS、HTML - 转义字符
  7. const成员函数、inline成员函数、static成员函数中关键字的位置
  8. JAVAWeb项目 微型商城项目-------(四)用户注册
  9. oracle递归树查询
  10. vue-cli 没有build如何配置_如何从零开发一个 gradle 插件(一)