RocketMQ 搭建

ansible搭建RocketMQ链接

安装包链接:

链接:https://pan.baidu.com/s/1ZmYdcwGORYe8fVMrxDX3Qg 
提取码:7571

本文安装目录:/data/op/rocketmq-all-4.8.0-bin-release

部署准备:

ip地址 部署角色 模式
10.10.80.176 Nameserver1,Brokerserver1 Maseter1
10.10.80.176 Nameserver1,Brokerserver1 Master2-Slave
10.10.80.177 Nameserver2,Brokerserver2 Maseter2
10.10.80.177 Nameserver2,Brokerserver2 Master1-Slave
10.10.80.178 Trace Trace

修改/etc/hosts:

10.10.80.176	nameserver1
10.10.80.176	master1
10.10.80.176	master2-slave
10.10.80.177	nameserver2
10.10.80.177	master2
10.10.80.177	master1-slave

下载源码安装包:

wget https://archive.apache.org/dist/rocketmq/4.8.0/rocketmq-all-4.8.0-bin-release.zip
unzip rocketmq-all-4.8.0-bin-release.zip

10.10.80.176服务器操作:

手动创建存储路径 :

mkdir -p /data/op/rocketmq-all-4.8.0-bin-release/store/commitlog
mkdir -p /data/op/rocketmq-all-4.8.0-bin-release/store-s/commitlog
cd /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async
修改broker-a.properties配置文件
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=nameserver1:9876;nameserver2:9876
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
haListenPort=10912
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#存储路径
storePathRootDir=/data/op/rocketmq-all-4.8.0-bin-release/store
#commitLog 存储路径
storePathCommitLog=/data/op/rocketmq-all-4.8.0-bin-release/store/commitlog
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=ASYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡时IP地址可能读取错误
brokerIP1=10.10.80.176
#messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
#描述了各级别与延时时间的对应映射关系。
#     这个配置项配置了从1级开始各级延时的时间,如1表示延时1s,2表示延时5s,14表示延时10m,可以修改这个指定级别的延时时间; 
#     时间单位支持:s、m、h、d,分别表示秒、分、时、天; 
#     默认值就是上面声明的,可手工调整; 
#     默认值已经够用,不建议调整【仅供参考,还是根据实际需要调整。调整默认值时注意同时要修改时间对应的level级别的值】
messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h 3h 4h 5h 6h 7h 8h 9h 10h 11h 12h

修改broker-b-s.properties配置文件
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=nameserver1:9876;nameserver2:9876
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10923
haListenPort=10924
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#存储路径
storePathRootDir=/data/op/rocketmq-all-4.8.0-bin-release/store-s
#commitLog 存储路径
storePathCommitLog=/data/op/rocketmq-all-4.8.0-bin-release/store-s/commitlog
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SLAVE
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡时IP地址可能读取错误
brokerIP1=10.10.80.176
#messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
#描述了各级别与延时时间的对应映射关系。
#     这个配置项配置了从1级开始各级延时的时间,如1表示延时1s,2表示延时5s,14表示延时10m,可以修改这个指定级别的延时时间; 
#     时间单位支持:s、m、h、d,分别表示秒、分、时、天; 
#     默认值就是上面声明的,可手工调整; 
#     默认值已经够用,不建议调整【仅供参考,还是根据实际需要调整。调整默认值时注意同时要修改时间对应的level级别的值】
messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h 3h 4h 5h 6h 7h 8h 9h 10h 11h 12h

10.10.80.177服务器操作:

手动创建存储路径 :

mkdir -p /data/op/rocketmq-all-4.8.0-bin-release/store/commitlog
mkdir -p /data/op/rocketmq-all-4.8.0-bin-release/store-s/commitlog
cd /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async
修改broker-b.properties配置文件
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=nameserver1:9876;nameserver2:9876
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
haListenPort=10912
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#存储路径
storePathRootDir=/data/op/rocketmq-all-4.8.0-bin-release/store
#commitLog 存储路径
storePathCommitLog=/data/op/rocketmq-all-4.8.0-bin-release/store/commitlog
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=ASYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡时IP地址可能读取错误
brokerIP1=10.10.80.177
#messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
#描述了各级别与延时时间的对应映射关系。
#     这个配置项配置了从1级开始各级延时的时间,如1表示延时1s,2表示延时5s,14表示延时10m,可以修改这个指定级别的延时时间; 
#     时间单位支持:s、m、h、d,分别表示秒、分、时、天; 
#     默认值就是上面声明的,可手工调整; 
#     默认值已经够用,不建议调整【仅供参考,还是根据实际需要调整。调整默认值时注意同时要修改时间对应的level级别的值】
messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h 3h 4h 5h 6h 7h 8h 9h 10h 11h 12h

修改broker-a-s.properties配置文件
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=nameserver1:9876;nameserver2:9876
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10923
haListenPort=10924
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#存储路径
storePathRootDir=/data/op/rocketmq-all-4.8.0-bin-release/store-s
#commitLog 存储路径
storePathCommitLog=/data/op/rocketmq-all-4.8.0-bin-release/store-s/commitlog
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SLAVE
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡时IP地址可能读取错误
brokerIP1=10.10.80.177
#messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
#描述了各级别与延时时间的对应映射关系。
#     这个配置项配置了从1级开始各级延时的时间,如1表示延时1s,2表示延时5s,14表示延时10m,可以修改这个指定级别的延时时间; 
#     时间单位支持:s、m、h、d,分别表示秒、分、时、天; 
#     默认值就是上面声明的,可手工调整; 
#     默认值已经够用,不建议调整【仅供参考,还是根据实际需要调整。调整默认值时注意同时要修改时间对应的level级别的值】
messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h 3h 4h 5h 6h 7h 8h 9h 10h 11h 12h

启动Nameserver

10.10.80.176/177服务器操作:

cd /data/op/rocketmq-all-4.8.0-bin-release/bin
nohup sh mqnamesrv 2>&1 &

启动Broker

启动报错:

image
原因:内存不足
解决方案:
修改文件runserver.sh:

JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=64m"

修改文件runbroker.sh:

JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m"

10.10.80.176服务器操作:

cd /data/op/rocketmq-all-4.8.0-bin-release/bin
nohup sh mqbroker -c /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async/broker-a.properties &
nohup sh mqbroker -c /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async/broker-b-s.properties &

10.10.80.177服务器操作:

cd /data/op/rocketmq-all-4.8.0-bin-release/bin
nohup sh mqbroker -c /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async/broker-b.properties  &
nohup sh mqbroker -c /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async/broker-a-s.properties  &

image


10.10.80.178服务器操作:

cd /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async/

修改broker-trace.properties配置文件
namesrvAddr=nameserver1:9876;nameserver2:9876
brokerClusterName=didapincheRMQCluster
brokerIP1=10.10.80.178
brokerName=dida-trace
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
storePathRootDir=/data/op/rocketmq-all-4.8.0-bin-release/store-trace
storePathCommitLog=/data/op/rocketmq-all-4.8.0-bin-release/store-trace/commitlog
listenPort=10912
messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h 3h 4h 5h 6h 7h 8h 9h 10h 11h 12h
autoCreateSubscriptionGroup=true
autoCreateTopicEnable=true
transientStorePoolSize=100
traceTopicEnable=true

启动Trace

cd /data/op/rocketmq-all-4.8.0-bin-release/bin/
nohup sh mqbroker -c /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async/broker-trace.properties &
--
[root@k8s-slave1 bin]# jobs 
[1]+  Running                 nohup sh mqbroker -c /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async/broker-trace.properties &

验证:

[root@k8s-slave2 bin]# ./mqadmin ClusterList -n nameserver2:9876
RocketMQLog:WARN No appenders could be found for logger (io.netty.util.internal.PlatformDependent0).
RocketMQLog:WARN Please initialize the logger system properly.
#Cluster Name     #Broker Name            #BID  #Addr                  #Version                #InTPS(LOAD)       #OutTPS(LOAD) #PCWait(ms) #Hour #SPACE
rocketmq-cluster  broker-a                0     10.10.80.176:10911      V4_9_2                   0.00(0,0ms)         0.00(0,0ms)          0 457585.42 0.0200
rocketmq-cluster  broker-a                1     10.10.80.177:10923      V4_9_2                   0.00(0,0ms)         0.00(0,0ms)          0 457585.42 0.0200
rocketmq-cluster  broker-b                0     10.10.80.176:10911      V4_9_2                   0.00(0,0ms)         0.00(0,0ms)          0 457585.42 0.0200
rocketmq-cluster  broker-b                1     10.10.80.177:10923      V4_9_2                   0.00(0,0ms)         0.00(0,0ms)          0 457585.42 0.0200
didapincheRMQCluster  dida-trace              0     10.10.80.178:10912     V4_9_2                   0.00(0,0ms)         0.00(0,0ms)          0 457585.42 0.0200


注:

自动重试无影响

image

posted @ 2022-02-08 11:59  咖啡馆  阅读(289)  评论(0编辑  收藏  举报