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

[[email protected] ~]# cat /etc/hosts

127.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

[[email protected] ~]# cat /etc/hosts

127.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_131

export PATH=$JAVA_HOME/bin:/app/rocketmq/bin:$PATH

export 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

[[email protected] 2m-2s-sync]# cat broker-a.properties

#所属集群名字
brokerClusterName=rocketmq-ztqy-test

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

#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-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

  

[[email protected] 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

[[email protected] 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

  

[[email protected] 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/logs

nohup sh /app/rocketmq/bin/mqnamesrv > mqnamesrv.log &

启动238 a -master

nohup sh /app/rocketmq/bin/mqbroker -c /app/rocketmq/conf/2m-2s-sync/broker-a.properties > broker-a.log &

启动238 b-slave

nohup sh /app/rocketmq/bin/mqbroker -c /app/rocketmq/conf/2m-2s-sync/broker-b-s.properties > broker-b-s.log &

[[email protected] 2m-2s-sync]# jps

5014 NamesrvStartup
5049 BrokerStartup
5151 BrokerStartup
18271 Jps

  

查看 9876 10919 10920 端口是否起来

10.15.10.239操作

cd /app/rocketmq/logs

nohup sh /app/rocketmq/bin/mqnamesrv > mqnamesrv.log &

启动239 b -master

nohup 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 &

[[email protected] 2m-2s-sync]# jps

3154 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 &

  

如果卡住 进不了后台
就新建一个脚本

[[email protected] 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 即成功

[[email protected] 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
[[email protected] 2m-2s-sync]#

  

问题备注:

1,如果提示启动broker 失败 ,检测日志提示locked faild ,already 检查 端口是否区分 ,存储目录是否区分

2,配置文件要注意空格

原文地址:https://www.cnblogs.com/cmttys/p/9026283.html

时间: 2024-10-07 00:26:34

rocketmq 双主双从同步写安装部署的相关文章

MySQL运维进阶-MySQL双主(master-master)+半同步(Semisync Repl

MySQL --> MariaDB --> Percona-Server MySQL: oracle ,commutity : 社区版 5.5 5.6 5.7 8.0MariaDB:5.5 10.xPercona:Percona-ServerInnoDB --> XtraDBXtrabackuppercona-tools: 存储引擎:引擎:也称为表类型,表级别概念,不建议在同一个库中的表上使用不同的ENGINE:CREATE TABLE ... ENGINE STORAGE_ENGINE

4、读写分离---双主双从(mycat)

双主双从 一个主机 m1 用于处理所有写请求,它的从机 s1 和另一台主机 m2 还有它的从机 s2 负责所有读请 求.当 m1 主机宕机后,m2 主机负责写请求,m1.m2 互为备机. 角色               地址 master1          192.168.199.231 slave1             192.168.199.185 master2          192.168.199.120 slave2             192.168.199.174

关于SQLyog操作Mysql双主、主从同步异常问题

本人遇到的问题发生在mysql 5.6.21 M-M中: Master1 Server version: 5.6.21-enterprise-commercial-advanced-log MySQL Enterprise Server - Advanced Edition (Commercial) Master2 Server version: 5.6.21-enterprise-commercial-advanced-log MySQL Enterprise Server - Advance

003.MMM双主-双从读写分离部署

一 前期规划 1.1 主机规划 功能 IP 主机名 server id 应用属性 VIP MySQL版本 Monitor 172.24.8.20 Monitor -- 监控 -- -- Master01 172.24.8.10 Master01 1 写-writer 172.24.8.100 MySQL 5.6.37 Master02 172.24.8.11 Master02 2 读-reader 写-writer 172.24.8.101 172.24.8.102 172.24.8.103 1

MMM双主-双从读写分离部署

目录 一 前期规划 1.1 主机规划 1.2 虚拟IP规划 1.3 用户列表 1.4 整体架构 1.4 hosts修改 1.5 NTP配置 二 部署MySQL 2.1 安装MySQL 三 双主复制部署 3.1 master01 my.cf配置 3.2 Master02 my.cf配置 3.4 Master02创建账号 3.5 启动双主复制 3.3 启动Master02的slave功能 四 其他节点配置 4.1 所有Slave节点配置配置 4.2 所有Slave节点创建账号 4.2 Slave节点

MySQL主主(双主)数据同步

1. 两台mysql都可以读写,互为主备,默认只是用一台(masterA)负责数据的写入,另一台(masterB)备用:2. masterA是masterB的主库,masterB又是masterA的主库,他们互为主从: 不足之处:1. masterB可能处于抑制空闲状态(可以用他当从库,负责部分查询):2. 主库后面提供服务的从库要等masterB先同步完了数据后才能去masterB上去同步数据,肯能会造成一定程度的同步延迟: 搭建环境 系统:CentOS7数据库版本:5.6.36masterA

RocketMQ 4.5.1 双主双从异步复制环境搭建

基础环境 操作系统:CentOS7 实例:192.168.63.129,192.168.63.130,192.168.63.131,192.168.63.132 Java:jdk-8u191-linux-x64.tar.gz 安装JDK 先把系统里面自带的卸载掉 [[email protected] soft]# rpm -qa|grep java python-javapackages-3.4.1-11.el7.noarch java-1.8.0-openjdk-1.8.0.181-7.b13

【转载】MySQL双主双从高可用集群架构

双浮动VIP 原文地址:http://www.linuxcache.com/archives/2907 转载请注明原文地址.

Linux Centos7中Mysql双主双从服务器部署

作用:由于架构的扩展,业务量的越来越大,I/O访问频率过高此时需要作多库的存储,提高单个及其的I/O性能.而当一个主服务器出现故障后,此时另一个服务器仍可以继续工作 一.环境准备4台干净的mysql服务器192.168.122.196 master1192.168.122.197 master2192.168.122.198 slave1192.168.122.199 slave2如果是克隆的虚拟机要修改每台服务器UUID //vim /var/lib/mysql/auto.cnf在每台服务器中