

broker 机器信息
- Master 1:10.102.0.67
- Slave 1: 10.102.0.68
- Master 2:10.102.0.68
- Slave 2:10.102.0.67
namesrv 机器信息(这里为了演示,复用了2 台主机做 Name Server)
- Name Server 1:10.102.0.67
- Name Server 2:10.102.0.68
# nameserver 10.102.0.67 rocketmq-nameserver1 10.102.0.68 rocketmq-nameserver2 # broker 10.102.0.67 rocketmq-master1 10.102.0.67 rocketmq-slave2 10.102.0.68 rocketmq-master2 10.102.0.68 rocketmq-slave1
创建文件夹
#主节点文件的存储路径 mkdir -p /usr/local/rocketmq/mstore mkdir /usr/local/rocketmq/mstore/commitlog mkdir /usr/local/rocketmq/mstore/consumequeue mkdir /usr/local/rocketmq/mstore/index #从节点服务服务器的文件存储路径 mkdir /usr/local/rocketmq/store mkdir /usr/local/rocketmq/store/commitlog mkdir /usr/local/rocketmq/store/consumequeue mkdir /usr/local/rocketmq/store/index
服务器10.102.0.67
vim conf/2m-2s-async/broker-a.properties
#所属集群名字 brokerClusterName=rocketmq-cluster #broker名字,注意此处不同的配置文件填写的不一样 brokerName=broker-a #0 表示 Master,>0 表示 Slave brokerId=0 #nameServer地址,分号分割 namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876 #配置外网连接地址 brokerIP1 = xx.xxx.xx.xx1 #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 defaultTopicQueueNums=4 #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭 autoCreateTopicEnable=true #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭 autoCreateSubscriptionGroup=true #Broker 对外服务的监听端口 listenPort=10911 #删除文件时间点,默认凌晨 4点 deleteWhen=04 #文件保留时间,默认 48 小时 fileReservedTime=120 #commitLog每个文件的大小默认1G mapedFileSizeCommitLog=1073741824 #ConsumeQueue每个文件默认存30W条,根据业务情况调整 mapedFileSizeConsumeQueue=300000 #destroyMapedFileIntervalForcibly=120000 #redeleteHangedFileInterval=120000 #检测物理文件磁盘空间 diskMaxUsedSpaceRatio=88 #存储路径 storePathRootDir=/usr/local/rocketmq/mstore #commitLog 存储路径 storePathCommitLog=/usr/local/rocketmq/mstore/commitlog #消费队列存储路径存储路径 storePathConsumeQueue=/usr/local/rocketmq/mstore/consumequeue #消息索引存储路径 storePathIndex=/usr/local/rocketmq/mstore/index #checkpoint 文件存储路径 storeCheckpoint=/usr/local/rocketmq/mstore/checkpoint #abort 文件存储路径 abortFile=/usr/local/rocketmq/mstore/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 #拉消息线程池数量 #pullMessageThreadPoolNums=128
vim conf/2m-2s-async/broker-a-s.properties
#所属集群名字 brokerClusterName=rocketmq-cluster #broker名字,注意此处不同的配置文件填写的不一样 brokerName=broker-b #0 表示 Master,>0 表示 Slave brokerId=1 #nameServer地址,分号分割 namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876 #配置外网连接地址 brokerIP1 = xx.xxx.xx.xx1 #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 defaultTopicQueueNums=4 #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭 autoCreateTopicEnable=true #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭 autoCreateSubscriptionGroup=true #Broker 对外服务的监听端口 listenPort=11011 #删除文件时间点,默认凌晨 4点 deleteWhen=04 #文件保留时间,默认 48 小时 fileReservedTime=120 #commitLog每个文件的大小默认1G mapedFileSizeCommitLog=1073741824 #ConsumeQueue每个文件默认存30W条,根据业务情况调整 mapedFileSizeConsumeQueue=300000 #destroyMapedFileIntervalForcibly=120000 #redeleteHangedFileInterval=120000 #检测物理文件磁盘空间 diskMaxUsedSpaceRatio=88 #存储路径 storePathRootDir=/usr/local/rocketmq/store #commitLog 存储路径 storePathCommitLog=/usr/local/rocketmq/store/commitlog #消费队列存储路径存储路径 storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue #消息索引存储路径 storePathIndex=/usr/local/rocketmq/store/index #checkpoint 文件存储路径 storeCheckpoint=/usr/local/rocketmq/store/checkpoint #abort 文件存储路径 abortFile=/usr/local/rocketmq/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=ASYNC_FLUSH #checkTransactionMessageEnable=false #发消息线程池数量 #sendMessageThreadPoolNums=128 #拉消息线程池数量 #pullMessageThreadPoolNums=128
broken-b.proproties
brokerClusterName=gray-rocketmq-cluster #broker名字,注意此处不同的配置文件填写的不一样 brokerName=broker-b #0 表示 Master,>0 表示 Slave brokerId=0 #nameServer地址,分号分割 namesrvAddr=10.102.0.67:9876;10.102.0.68:9876 #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 defaultTopicQueueNums=4 #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭 autoCreateTopicEnable=true #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭 autoCreateSubscriptionGroup=true #Broker 对外服务的监听端口 listenPort=10911 #删除文件时间点,默认凌晨 4点 deleteWhen=04 #文件保留时间,默认 48 小时 fileReservedTime=48 #commitLog每个文件的大小默认1G mapedFileSizeCommitLog=1073741824 #ConsumeQueue每个文件默认存30W条,根据业务情况调整 mapedFileSizeConsumeQueue=300000 #destroyMapedFileIntervalForcibly=120000 #redeleteHangedFileInterval=120000 #检测物理文件磁盘空间 diskMaxUsedSpaceRatio=88 #存储路径 storePathRootDir=/usr/local/rocketmq/mstore #commitLog 存储路径 storePathCommitLog=/usr/local/rocketmq/mstore/commitlog #消费队列存储路径存储路径 storePathConsumeQueue=/usr/local/rocketmq/mstore/consumequeue #消息索引存储路径 storePathIndex=/usr/local/rocketmq/mstore/index #checkpoint 文件存储路径 storeCheckpoint=/usr/local/rocketmq/mstore/checkpoint #abort 文件存储路径 abortFile=/usr/local/rocketmq/mstore/abort #限制的消息大小 maxMessageSize=65536 #flushCommitLogLeastPages=4 #flushConsumeQueueLeastPages=2 #flushCommitLogThoroughInterval=10000 #flushConsumeQueueThoroughInterval=60000 #Broker 的角色 #- ASYNC_MASTER 异步复制Master #- SYNC_MASTER 同步双写Master #- SLAVE brokerRole=ASYNC_MASTER #刷盘方式 #- ASYNC_FLUSH 异步刷盘 #- SYNC_FLUSH 同步刷盘 flushDiskType=ASYNC_FLUSH #checkTransactionMessageEnable=false #发消息线程池数量 #sendMessageThreadPoolNums=128 #拉消息线程池数量 #pullMessageThreadPoolNums=128
broker-a-slave.
brokerClusterName=gray-rocketmq-cluster #broker名字,注意此处不同的配置文件填写的不一样 brokerName=broker-a #0 表示 Master,>0 表示 Slave brokerId=1 #nameServer地址,分号分割 namesrvAddr=10.102.0.67:9876;10.102.0.68:9876 #配置外网连接地址 #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭 autoCreateTopicEnable=true #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭 autoCreateSubscriptionGroup=true #Broker 对外服务的监听端口 listenPort=11011 #删除文件时间点,默认凌晨 4点 deleteWhen=04 #文件保留时间,默认 48 小时 fileReservedTime=48 #commitLog每个文件的大小默认1G mapedFileSizeCommitLog=1073741824 #ConsumeQueue每个文件默认存30W条,根据业务情况调整 mapedFileSizeConsumeQueue=300000 #destroyMapedFileIntervalForcibly=120000 #redeleteHangedFileInterval=120000 #检测物理文件磁盘空间 diskMaxUsedSpaceRatio=88 #存储路径 storePathRootDir=/usr/local/rocketmq/store #commitLog 存储路径 storePathCommitLog=/usr/local/rocketmq/store/commitlog #消费队列存储路径存储路径 storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue #消息索引存储路径 storePathIndex=/usr/local/rocketmq/store/index #checkpoint 文件存储路径 storeCheckpoint=/usr/local/rocketmq/store/checkpoint #abort 文件存储路径 abortFile=/usr/local/rocketmq/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=ASYNC_FLUSH #checkTransactionMessageEnable=false #发消息线程池数量 #sendMessageThreadPoolNums=128 #拉消息线程池数量 #pullMessageThreadPoolNums=128
启动
master
nohup sh mqnamesrv &
nohup sh mqnamesrv &
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-async/broker-a.properties &
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-async/broker-b-s.properties &
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-async/broker-b.properties &
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-async/broker-a-s.properties &
页面控制台
nohup /usr/local/jdk1.8/bin/java -jar /usr/local/rocketmq/rocketmq-console-ng-2.0.0.jar --server.port=9090 --rocketmq.config.namesrvAddr=127.0.0.1:9876 &
检查
#查看所有消费组group:
sh mqadmin consumerProgress -n 172.17.0.2:9876
#查看指定消费组下的所有topic数据堆积情况:
sh mqadmin consumerProgress -n 127.0.0.1:9876 -g warning-group
# 查看所有topic :
sh mqadmin topicList -n 172.17.0.2:9876
#查看topic信息列表详情统计
sh mqadmin topicstatus -n 172.17.0.2:9876 -t topicWarning
#新增topic
sh mqadmin updateTopic –n 172.17.0.2:9876 –c DefaultCluster –t topicWarning
sh mqadmin updateTopic -n 172.17.0.2:9876 -t TASK_JSYZM_INFO -r 66 -w 66
#删除topic
sh mqadmin deleteTopic –n 172.17.0.2:9876 –c DefaultCluster –t topicWarning
#查询集群消息
sh mqadmin clusterList -n 172.17.0.2:9876
#发送消息
export NAMESRV_ADDR=172.17.0.2:9876
bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
#接收消息
export NAMESRV_ADDR=172.17.0.2:9876
bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
rocketmq_broker_s.service
# Systemd unit file for tomcat
[Unit]
Description=rocketmq_nameserver
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
LimitCORE=infinity
LimitNOFILE=65535
LimitNPROC=65535
Environment=JAVA_HOME=/usr/local/jdk1.8
WorkingDirectory=/usr/local/rocketmq
ExecStart= /usr/local/rocketmq/bin/mqbroker -c /usr/local/rocketmq/conf/2m-2s-async/broker-b-s.properties
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
RestartSec=20
Restart=always
[Install]
WantedBy=multi-user.target
浙公网安备 33010602011771号