• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

rocketmq搭建

武飞扬头像
yjl_2130
帮助1

双主双从集群搭建

暂定两台机器

服务器A

nameserverA  brokerA  brokerB-slave

服务器B

nameserverB  brokerB  brokerA-slave

启动顺序

  • 启动nameserver 服务(类似注册中心)
  • 依次启动 brokerA 、brokerB、brokerA-slave 、 brokerB-slave

关闭顺序

  • sh mqshutdown broker
  • sh mqshutdown namesrv

依赖环境

  1. 64 位操作系统,Linux/ Unix/Mac OS
  2. 64位JDK 1.8

1、下载安装包

rocketmq-all-4.9.2-bin-release.zip

2、加压安装包

unzip rocketmq-all-4.9.2-bin-release.zip

3、默认配置修改

修改rocketmq/bin目录下 runbroker.sh 、runserver.sh jvm参数(按服务器内存大小适配置,官方推荐8g)

  • runbroker.sh
    JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
    
    
  • runbroker.sh
    JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g"
    JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=15g"
    

4、broker配置文件

  • 服务器A brokerA
#RocketMQ Name Server地址列表,多个NameServer地址用分号隔开
namesrvAddr=192.168.209.242:9876;192.168.209.243:9876
#集群名
rokerClusterName=game-rocketmq-cluster
brokerIP1=192.168.209.242
brokerName=broker-a
brokerId=0
#删除文件时间点,默认凌晨4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
#- ASYNC_MASTER 异步复制Master   - SYNC_MASTER 同步双写Master   - SLAVE 
brokerRole=SYNC_MASTER
#- ASYNC_FLUSH 异步刷盘  SYNC_FLUSH 同步刷盘 
flushDiskType=ASYNC_FLUSH
listenPort=10911
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 
defaultTopicQueueNums=4
#Broker 对外服务的监听端口
listenPort=10911
#commitLog每个文件的大小默认1G 
mapedFileSizeCommitLog=1073741824 
#ConsumeQueue每个文件默认存30W条,根据业务情况调整 
mapedFileSizeConsumeQueue=300000 

#存储路径
storePathRootDir=/root/data/mq/rocketmq/store
#commitLog 存储路径 
storePathCommitLog=/root/data/mq/rocketmq/store/commitlog 
#消费队列存储路径存储路径 
storePathConsumeQueue=/root/data/mq/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/root/data/mq/rocketmq/store/index
#checkpoint 文件存储路径 
storeCheckpoint=/root/data/mq/rocketmq/store/checkpoint 
#abort 文件存储路径 
abortFile=/root/data/mq/rocketmq/store/abort 

#限制的消息大小
maxMessageSize=65536
#并发send线程数,多线程来发送消息可能会出现broker busy
sendMessageThreadPoolNums=128
useReentrantLockWhenPutMessage=true
学新通
  • 服务器A brokerB-slave
#RocketMQ Name Server地址列表,多个NameServer地址用分号隔开
namesrvAddr=192.168.209.242:9876;192.168.209.243:9876
#集群名
rokerClusterName=game-rocketmq-cluster
brokerIP1=192.168.209.242
brokerName=broker-b
brokerId=1
#删除文件时间点,默认凌晨4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
#- ASYNC_MASTER 异步复制Master   - SYNC_MASTER 同步双写Master   - SLAVE 
brokerRole=SLAVE
#- ASYNC_FLUSH 异步刷盘  SYNC_FLUSH 同步刷盘 
flushDiskType=ASYNC_FLUSH
listenPort=10911
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 
defaultTopicQueueNums=4
#Broker 对外服务的监听端口
listenPort=10911
#commitLog每个文件的大小默认1G 
mapedFileSizeCommitLog=1073741824 
#ConsumeQueue每个文件默认存30W条,根据业务情况调整 
mapedFileSizeConsumeQueue=300000 

#存储路径
storePathRootDir=/data/mq/rocketmq/store
#commitLog 存储路径 
storePathCommitLog=/data/mq/rocketmq/store/commitlog 
#消费队列存储路径存储路径 
storePathConsumeQueue=/data/mq/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/data/mq/rocketmq/store/index
#checkpoint 文件存储路径 
storeCheckpoint=/data/mq/rocketmq/store/checkpoint 
#abort 文件存储路径 
abortFile=/data/mq/rocketmq/store/abort 

#限制的消息大小
maxMessageSize=65536

#并发send线程数,多线程来发送消息可能会出现broker busy
sendMessageThreadPoolNums=128
useReentrantLockWhenPutMessage=true
学新通
  • 服务器B brokerB
#RocketMQ Name Server地址列表,多个NameServer地址用分号隔开
namesrvAddr=192.168.209.242:9876;192.168.209.243:9876
#集群名
rokerClusterName=game-rocketmq-cluster
brokerIP1=192.168.209.243
brokerName=broker-b
brokerId=0
#删除文件时间点,默认凌晨4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
#- ASYNC_MASTER 异步复制Master   - SYNC_MASTER 同步双写Master   - SLAVE 
brokerRole=SYNC_MASTER
#- ASYNC_FLUSH 异步刷盘 
#- SYNC_FLUSH 同步刷盘 
flushDiskType=ASYNC_FLUSH
listenPort=10911
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 
defaultTopicQueueNums=4
#Broker 对外服务的监听端口
listenPort=10911
#commitLog每个文件的大小默认1G 
mapedFileSizeCommitLog=1073741824 
#ConsumeQueue每个文件默认存30W条,根据业务情况调整 
mapedFileSizeConsumeQueue=300000 

#存储路径
storePathRootDir=/root/data/mq/rocketmq/store
#commitLog 存储路径 
storePathCommitLog=/root/data/mq/rocketmq/store/commitlog 
#消费队列存储路径存储路径 
storePathConsumeQueue=/root/data/mq/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/root/data/mq/rocketmq/store/index
#checkpoint 文件存储路径 
storeCheckpoint=/root/data/mq/rocketmq/store/checkpoint 
#abort 文件存储路径 
abortFile=/root/data/mq/rocketmq/store/abort 

#限制的消息大小
maxMessageSize=65536

#并发send线程数,多线程来发送消息可能会出现broker busy
sendMessageThreadPoolNums=128
useReentrantLockWhenPutMessage=true
学新通
  • 服务器B brokerA-slave
#RocketMQ Name Server地址列表,多个NameServer地址用分号隔开
namesrvAddr=192.168.209.242:9876;192.168.209.243:9876
#集群名
rokerClusterName=game-rocketmq-cluster
brokerIP1=192.168.209.243
brokerName=broker-a
brokerId=1
#删除文件时间点,默认凌晨4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
#- ASYNC_MASTER 异步复制Master   - SYNC_MASTER 同步双写Master   - SLAVE 
brokerRole=SLAVE
#- ASYNC_FLUSH 异步刷盘 
#- SYNC_FLUSH 同步刷盘 
flushDiskType=ASYNC_FLUSH
listenPort=10911
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 
defaultTopicQueueNums=4
#Broker 对外服务的监听端口
listenPort=10911
#commitLog每个文件的大小默认1G 
mapedFileSizeCommitLog=1073741824 
#ConsumeQueue每个文件默认存30W条,根据业务情况调整 
mapedFileSizeConsumeQueue=300000 

#存储路径
storePathRootDir=/data/mq/rocketmq/store
#commitLog 存储路径 
storePathCommitLog=/data/mq/rocketmq/store/commitlog 
#消费队列存储路径存储路径 
storePathConsumeQueue=/data/mq/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/data/mq/rocketmq/store/index
#checkpoint 文件存储路径 
storeCheckpoint=/data/mq/rocketmq/store/checkpoint 
#abort 文件存储路径 
abortFile=/data/mq/rocketmq/store/abort 

#限制的消息大小
maxMessageSize=65536


#并发send线程数,多线程来发送消息可能会出现broker busy
sendMessageThreadPoolNums=128
useReentrantLockWhenPutMessage=true
学新通

5、初始文件夹

mkdir -p /usr/local/rocketmq/store
mkdir -p /usr/local/rocketmq/store/commitlog
mkdir -p /usr/local/rocketmq/store/consumequeue
mkdir -p /usr/local/rocketmq/store/index
mkdir -p /usr/local/rocketmq/store/checkpoint
mkdir -p /usr/local/rocketmq/store/abort

6、启动脚本

nameserver 启动

nohup sh mqnamesrv -n IP:PORT > /root/data/mq/rokermq/nameserv.log 2>&1 &

broker 启动

nohup sh /root/data/www/rocketmq-4.9.2/bin/mqnamesrv -n IP:PORT > /root/data/mq/roketmq 2>&1 &

broker-a
nohup sh /root/data/www/rocketmq-4.9.2/bin/mqbroker -n IP:PORT  -c /root/data/www/rocketmq-4.9.2/conf/2m-2s-sync/broker-a.properties > /root/data/mq/roketmq 2>&1 &

broker-a-s
nohup sh /root/data/www/rocketmq-4.9.2/bin/mqbroker -n IP:PORT  -c /root/data/www/rocketmq-4.9.2/conf/2m-2s-sync/broker-a-s.properties > /root/data/mq/roketmq 2>&1 &

broker-b-s
nohup sh /root/data/www/rocketmq-4.9.2/bin/mqbroker -n IP:PORT  -c /root/data/www/rocketmq-4.9.2/conf/2m-2s-sync/broker-b-s.properties > /root/data/mq/roketmq 2>&1 &

broker-b
nohup sh /root/data/www/rocketmq-4.9.2/bin/mqbroker -n IP:PORT  -c /root/data/www/rocketmq-4.9.2/conf/2m-2s-sync/broker-b.properties > /root/data/mq/roketmq 2>&1 &

#集群机器查询
sh bin/mqadmin clusterList -n 192.168.209.243:9876


学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhiacjak
系列文章
更多 icon
同类精品
更多 icon
继续加载