ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Rocketmq双主双从同步写集群安装

2020-12-29 14:35:42  阅读:278  来源: 互联网

标签:存储 store app broker 双主双 集群 Rocketmq 10.15 rocketmq


一、机器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

二,配置hosts

[root@HNVM015238 ~]# 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

[root@HNVM015239 ~]# 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

三、解压放到软件部署目录

/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

[root@HNVM015238 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

[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/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 &

[root@HNVM015238 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 &

[root@HNVM015239 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 &

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

[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,配置文件要注意空格

标签:存储,store,app,broker,双主双,集群,Rocketmq,10.15,rocketmq
来源: https://www.cnblogs.com/KnowKnow/p/14206349.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有