部署 Rocketmq
Install Rocketmq
本次安装的机器操作系统是 Ubuntu18.04
-
安装 jdk 和工具软件
# 两台机器都要操作 apt-get install -y openjdk-8-jre-headless unzip
-
下载二进制安装包并解压
# 在 192.168.100.38 上操作 mkdir /data cd /data wget https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip unzip rocketmq-all-4.9.4-bin-release.zip mv rocketmq-all-4.9.4-bin-release rocketmq-4.9-a cp -r rocketmq-4.9-a rocketmq-4.9-b-s # 在 192.168.100.39 上操作 mkdir /data cd /data wget https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip unzip rocketmq-all-4.9.4-bin-release.zip mv rocketmq-all-4.9.4-bin-release rocketmq-4.9-b cp -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.properties brokerClusterName=DefaultCluster brokerName=broker-a brokerId=0 deleteWhen=04 fileReservedTime=48 brokerRole=ASYNC_MASTER flushDiskType=ASYNC_FLUSH namesrvAddr=192.168.100.38:9876;192.168.100.39:9876 defaultTopicQueueNums=4 autoCreateTopicEnable=false autoCreateSubscriptionGroup=false listenPort=10911 mapedFileSizeCommitLog=1073741824 mapedFileSizeConsumeQueue=300000 destroyMapedFileInterval=120000 redeleteHangedFileInterval=120000 diskMaxUsedSpaceRatio=88 storePathRootDir=/data/rocketmq-4.9-a/data/store storePathCommitLog=/data/rocketmq-4.9-a/data/store/commitlog maxMessageSize=65536 flushCommitLogLeastPages=4 flushConsumeQueueLeastPages=2 flushCommitLogThoroughInterval=10000 flushConsumeQueueThoroughInterval=60000 checkTransactionMessageEnable=false sendMessageThreadPoolNums=128 pullMessageThreadPoolNums=128 # vim /data/rocketmq-4.9-b-s/conf/2m-2s-async/broker-b-s.properties brokerClusterName=DefaultCluster brokerName=broker-b brokerId=1 deleteWhen=04 fileReservedTime=48 brokerRole=SLAVE flushDiskType=ASYNC_FLUSH namesrvAddr=192.168.100.38:9876;192.168.100.39:9876 defaultTopicQueueNums=4 autoCreateTopicEnable=false autoCreateSubscriptionGroup=false listenPort=10950 mapedFileSizeCommitLog=1073741824 mapedFileSizeConsumeQueue=300000 destroyMapedFileInterval=120000 redeleteHangedFileInterval=120000 diskMaxUsedSpaceRatio=88 storePathRootDir=/data/rocketmq-4.9-b-s/data/store storePathCommitLog=/data/rocketmq-4.9-b-s/data/store/commitlog maxMessageSize=65536 flushCommitLogLeastPages=4 flushConsumeQueueLeastPages=2 flushCommitLogThoroughInterval=10000 flushConsumeQueueThoroughInterval=60000 checkTransactionMessageEnable=false sendMessageThreadPoolNums=128 pullMessageThreadPoolNums=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/otherdays mkdir -p /data/logs/rocketmqlogs-b-s/otherdays mkdir -p /data/rocketmq-4.9-a/data/store/commitlog mkdir -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.properties brokerClusterName=DefaultCluster brokerName=broker-b brokerId=0 deleteWhen=04 fileReservedTime=48 brokerRole=ASYNC_MASTER flushDiskType=ASYNC_FLUSH namesrvAddr=192.168.100.38:9876;192.168.100.39:9876 defaultTopicQueueNums=4 autoCreateTopicEnable=false autoCreateSubscriptionGroup=false listenPort=10911 mapedFileSizeCommitLog=1073741824 mapedFileSizeConsumeQueue=300000 destroyMapedFileInterval=120000 redeleteHangedFileInterval=120000 diskMaxUsedSpaceRatio=88 storePathRootDir=/data/rocketmq-4.9-b/data/store storePathCommitLog=/data/rocketmq-4.9-b/data/store/commitlog maxMessageSize=65536 flushCommitLogLeastPages=4 flushConsumeQueueLeastPages=2 flushCommitLogThoroughInterval=10000 flushConsumeQueueThoroughInterval=60000 checkTransactionMessageEnable=false sendMessageThreadPoolNums=128 pullMessageThreadPoolNums=128 # vim /data/rocketmq-4.9-a-s/conf/2m-2s-async/broker-a-s.properties brokerClusterName=DefaultCluster brokerName=broker-a brokerId=1 deleteWhen=04 fileReservedTime=48 brokerRole=SLAVE flushDiskType=ASYNC_FLUSH namesrvAddr=192.168.100.38:9876;192.168.100.39:9876 defaultTopicQueueNums=4 autoCreateTopicEnable=false autoCreateSubscriptionGroup=false listenPort=10950 deleteWhen=04 fileReservedTime=120 mapedFileSizeCommitLog=1073741824 mapedFileSizeConsumeQueue=300000 destroyMapedFileInterval=120000 redeleteHangedFileInterval=120000 diskMaxUsedSpaceRatio=88 storePathRootDir=/data/rocketmq-4.9-b/data/store storePathCommitLog=/data/rocketmq-4.9-b/data/store/commitlog maxMessageSize=65536 flushCommitLogLeastPages=4 flushConsumeQueueLeastPages=2 flushCommitLogThoroughInterval=10000 flushConsumeQueueThoroughInterval=60000 checkTransactionMessageEnable=false sendMessageThreadPoolNums=128 pullMessageThreadPoolNums=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/otherdays mkdir -p /data/logs/rocketmqlogs-a-s/otherdays mkdir -p /data/rocketmq-4.9-b/data/store/commitlog mkdir -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-a nohup sh bin/mqnamesrv > mqnamesrv_log.txt 2>&1 & # 在 192.168.100.39 上操作 cd /data/rocketmq-4.9-b nohup sh bin/mqnamesrv > mqnamesrv_log.txt 2>&1 &
-
启动 broker
# 启动之前可以修改 jvm 参数 # vim bin/runbroker.sh # 在 192.168.100.38 上操作 cd /data/rocketmq-4.9-a nohup sh bin/mqbroker -c conf/2m-2s-async/broker-a.properties > mqbroker_a_log.txt 2>&1 & cd /data/rocketmq-4.9-b-s nohup 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-b nohup sh bin/mqbroker -c conf/2m-2s-async/broker-b.properties > mqbroker_b_log.txt 2>&1 & cd /data/rocketmq-4.9-a-s nohup sh bin/mqbroker -c conf/2m-2s-async/broker-a-s.properties > mqbroker_a-s_log.txt 2>&1 &
-
常用操作
# stop mqnamesrv / mqbroker sh bin/mqshutdown namesrv sh bin/mqshutdown broker # check broker sh bin/mqadmin clusterList -n localhost:9876 # create topic sh bin/mqadmin updateTopic -n localhost:9876 -c DefaultCluster -t test-topic # delete topic sh 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
2021-04-25 安装 cuda 驱动和 nvidia-container-tookit