(相关资料图)
Install Rocketmq
本次安装的机器操作系统是 Ubuntu18.04
安装 jdk 和工具软件
# 两台机器都要操作apt-get install -y openjdk-8-jre-headless unzip
下载二进制安装包并解压
# 在 192.168.100.38 上操作mkdir /datacd /datawget https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zipunzip rocketmq-all-4.9.4-bin-release.zipmv rocketmq-all-4.9.4-bin-release rocketmq-4.9-acp -r rocketmq-4.9-a rocketmq-4.9-b-s# 在 192.168.100.39 上操作mkdir /datacd /datawget https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zipunzip rocketmq-all-4.9.4-bin-release.zipmv rocketmq-all-4.9.4-bin-release rocketmq-4.9-bcp -r rocketmq-4.9-b rocketmq-4.9-a-s
修改配置
# 在 192.168.100.38 上操作# vim /data/rocketmq-4.9-a/conf/2m-2s-async/broker-a.propertiesbrokerClusterName=DefaultClusterbrokerName=broker-abrokerId=0deleteWhen=04fileReservedTime=48brokerRole=ASYNC_MASTERflushDiskType=ASYNC_FLUSHnamesrvAddr=192.168.100.38:9876;192.168.100.39:9876defaultTopicQueueNums=4autoCreateTopicEnable=falseautoCreateSubscriptionGroup=falselistenPort=10911mapedFileSizeCommitLog=1073741824mapedFileSizeConsumeQueue=300000destroyMapedFileInterval=120000redeleteHangedFileInterval=120000diskMaxUsedSpaceRatio=88storePathRootDir=/data/rocketmq-4.9-a/data/storestorePathCommitLog=/data/rocketmq-4.9-a/data/store/commitlogmaxMessageSize=65536flushCommitLogLeastPages=4flushConsumeQueueLeastPages=2flushCommitLogThoroughInterval=10000flushConsumeQueueThoroughInterval=60000checkTransactionMessageEnable=falsesendMessageThreadPoolNums=128pullMessageThreadPoolNums=128# vim /data/rocketmq-4.9-b-s/conf/2m-2s-async/broker-b-s.propertiesbrokerClusterName=DefaultClusterbrokerName=broker-bbrokerId=1deleteWhen=04fileReservedTime=48brokerRole=SLAVEflushDiskType=ASYNC_FLUSHnamesrvAddr=192.168.100.38:9876;192.168.100.39:9876defaultTopicQueueNums=4autoCreateTopicEnable=falseautoCreateSubscriptionGroup=falselistenPort=10950mapedFileSizeCommitLog=1073741824mapedFileSizeConsumeQueue=300000destroyMapedFileInterval=120000redeleteHangedFileInterval=120000diskMaxUsedSpaceRatio=88storePathRootDir=/data/rocketmq-4.9-b-s/data/storestorePathCommitLog=/data/rocketmq-4.9-b-s/data/store/commitlogmaxMessageSize=65536flushCommitLogLeastPages=4flushConsumeQueueLeastPages=2flushCommitLogThoroughInterval=10000flushConsumeQueueThoroughInterval=60000checkTransactionMessageEnable=falsesendMessageThreadPoolNums=128pullMessageThreadPoolNums=128# 修改日志目录# vim /data/rocketmq-4.9-a/conf/logback_broker.xml# vim /data/rocketmq-4.9-a/conf/logback_namesrv.xml# vim /data/rocketmq-4.9-a/conf/logback_tools.xml# 打开以上文件,使用以下命令批量替换:%s@${user.home}@/data@g:%s@${brokerLogDir}/@@g:%s@rocketmqlogs@rocketmqlogs-a@g# vim /data/rocketmq-4.9-b-s/conf/logback_broker.xml# vim /data/rocketmq-4.9-b-s/conf/logback_namesrv.xml# vim /data/rocketmq-4.9-b-s/conf/logback_tools.xml# 打开以上文件,使用以下命令批量替换:%s@${user.home}@/data@g:%s@${brokerLogDir}/@@g:%s@rocketmqlogs@rocketmqlogs-b-s@g# 创建日志目录和数据目录mkdir -p /data/logs/rocketmqlogs-a/otherdaysmkdir -p /data/logs/rocketmqlogs-b-s/otherdaysmkdir -p /data/rocketmq-4.9-a/data/store/commitlogmkdir -p /data/rocketmq-4.9-b-s/data/store/commitlog
# 在 192.168.100.39 上操作# vim /data/rocketmq-4.9-b/conf/2m-2s-async/broker-b.propertiesbrokerClusterName=DefaultClusterbrokerName=broker-bbrokerId=0deleteWhen=04fileReservedTime=48brokerRole=ASYNC_MASTERflushDiskType=ASYNC_FLUSHnamesrvAddr=192.168.100.38:9876;192.168.100.39:9876defaultTopicQueueNums=4autoCreateTopicEnable=falseautoCreateSubscriptionGroup=falselistenPort=10911mapedFileSizeCommitLog=1073741824mapedFileSizeConsumeQueue=300000destroyMapedFileInterval=120000redeleteHangedFileInterval=120000diskMaxUsedSpaceRatio=88storePathRootDir=/data/rocketmq-4.9-b/data/storestorePathCommitLog=/data/rocketmq-4.9-b/data/store/commitlogmaxMessageSize=65536flushCommitLogLeastPages=4flushConsumeQueueLeastPages=2flushCommitLogThoroughInterval=10000flushConsumeQueueThoroughInterval=60000checkTransactionMessageEnable=falsesendMessageThreadPoolNums=128pullMessageThreadPoolNums=128# vim /data/rocketmq-4.9-a-s/conf/2m-2s-async/broker-a-s.propertiesbrokerClusterName=DefaultClusterbrokerName=broker-abrokerId=1deleteWhen=04fileReservedTime=48brokerRole=SLAVEflushDiskType=ASYNC_FLUSHnamesrvAddr=192.168.100.38:9876;192.168.100.39:9876defaultTopicQueueNums=4autoCreateTopicEnable=falseautoCreateSubscriptionGroup=falselistenPort=10950deleteWhen=04fileReservedTime=120mapedFileSizeCommitLog=1073741824mapedFileSizeConsumeQueue=300000destroyMapedFileInterval=120000redeleteHangedFileInterval=120000diskMaxUsedSpaceRatio=88storePathRootDir=/data/rocketmq-4.9-b/data/storestorePathCommitLog=/data/rocketmq-4.9-b/data/store/commitlogmaxMessageSize=65536flushCommitLogLeastPages=4flushConsumeQueueLeastPages=2flushCommitLogThoroughInterval=10000flushConsumeQueueThoroughInterval=60000checkTransactionMessageEnable=falsesendMessageThreadPoolNums=128pullMessageThreadPoolNums=128# 修改日志目录# vim /data/rocketmq-4.9-b/conf/logback_broker.xml# vim /data/rocketmq-4.9-b/conf/logback_namesrv.xml# vim /data/rocketmq-4.9-b/conf/logback_tools.xml# 打开以上文件,使用以下命令批量替换:%s@${user.home}@/data@g:%s@${brokerLogDir}/@@g:%s@rocketmqlogs@rocketmqlogs-b@g# vim /data/rocketmq-4.9-a-s/conf/logback_broker.xml# vim /data/rocketmq-4.9-a-s/conf/logback_namesrv.xml# vim /data/rocketmq-4.9-a-s/conf/logback_tools.xml# 打开以上文件,使用以下命令批量替换:%s@${user.home}@/data@g:%s@${brokerLogDir}/@@g:%s@rocketmqlogs@rocketmqlogs-a-s@g# 创建日志目录和数据目录mkdir -p /data/logs/rocketmqlogs-b/otherdaysmkdir -p /data/logs/rocketmqlogs-a-s/otherdaysmkdir -p /data/rocketmq-4.9-b/data/store/commitlogmkdir -p /data/rocketmq-4.9-a-s/data/store/commitlog
启动 nameserver
# 启动之前可以修改 jvm 参数# vim bin/runserver.sh# 在 192.168.100.38 上操作cd /data/rocketmq-4.9-anohup sh bin/mqnamesrv > mqnamesrv_log.txt 2>&1 在 192.168.100.39 上操作cd /data/rocketmq-4.9-bnohup sh bin/mqnamesrv > mqnamesrv_log.txt 2>&1 &
启动 broker
# 启动之前可以修改 jvm 参数# vim bin/runbroker.sh# 在 192.168.100.38 上操作cd /data/rocketmq-4.9-anohup sh bin/mqbroker -c conf/2m-2s-async/broker-a.properties > mqbroker_a_log.txt 2>&1 &cd /data/rocketmq-4.9-b-snohup sh bin/mqbroker -c conf/2m-2s-async/broker-b-s.properties > mqbroker_b-s_log.txt 2>&1 在 192.168.100.39 上操作cd /data/rocketmq-4.9-bnohup sh bin/mqbroker -c conf/2m-2s-async/broker-b.properties > mqbroker_b_log.txt 2>&1 &cd /data/rocketmq-4.9-a-snohup sh bin/mqbroker -c conf/2m-2s-async/broker-a-s.properties > mqbroker_a-s_log.txt 2>&1 &
常用操作
# stop mqnamesrv / mqbrokersh bin/mqshutdown namesrvsh bin/mqshutdown broker# check brokersh bin/mqadmin clusterList -n localhost:9876# create topicsh bin/mqadmin updateTopic -n localhost:9876 -c DefaultCluster -t test-topic# delete topicsh bin/mqadmin deleteTopic -n localhost:9876 -c DefaultCluster -t test-topic# 测试生产者sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer# 测试消费者sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer