• 四、RocketMq本地集群搭建


    参照:https://github.com/apache/rocketmq/blob/master/docs/cn/operation.md

    • master可读可写,slaver只能写;即如果master挂了,则mq不能接收消息了,
      但是不影响消费者从slaver消费消息
    • master-slaver集群不支持自动选举功能,master是在配置文件中指定死的,如果master挂了,不会从slaver中选举master

    1、修改配置文件conf\2m-2s-async
    broker-a.properties

    brokerClusterName=DefaultCluster
    brokerName=broker-a
    brokerId=0
    deleteWhen=04
    fileReservedTime=48
    brokerRole=ASYNC_MASTER
    flushDiskType=ASYNC_FLUSH
    #同一台机器上的broker的端口号相差大一点,不然会报错地址已被绑定
    # https://www.likecs.com/show-204784161.html
    listenPort=10911
    brokerIP1 = 127.0.0.1
    namesrvAddr = 127.0.0.1:9876
    #存储路径
    storePathRootDir=E:\\SelfStudy\\rocketmq_jq\\store1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    broker-a-s.properties

    brokerClusterName=DefaultCluster
    brokerName=broker-a
    brokerId=1
    deleteWhen=04
    fileReservedTime=48
    brokerRole=SLAVE
    flushDiskType=ASYNC_FLUSH
    #同一台机器上的broker的端口号相差大一点
    #https://www.likecs.com/show-204784161.html
    listenPort=10920
    brokerIP1 = 127.0.0.1
    namesrvAddr = 127.0.0.1:9876
    #存储路径
    storePathRootDir=E:\\SelfStudy\\rocketmq_jq\\store2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    broker-b.properties

    brokerClusterName=DefaultCluster
    brokerName=broker-b
    brokerId=0
    deleteWhen=04
    fileReservedTime=48
    brokerRole=ASYNC_MASTER
    flushDiskType=ASYNC_FLUSH
    #同一台机器上的broker的端口号相差大一点
    #https://www.likecs.com/show-204784161.html
    listenPort=10930
    brokerIP1 = 127.0.0.1
    namesrvAddr = 127.0.0.1:9876
    #存储路径
    storePathRootDir=E:\\SelfStudy\\rocketmq_jq\\store3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    broker-b-s.properties

    brokerClusterName=DefaultCluster
    brokerName=broker-b
    brokerId=1
    deleteWhen=04
    fileReservedTime=48
    brokerRole=SLAVE
    flushDiskType=ASYNC_FLUSH
    #同一台机器上的broker的端口号相差大一点
    #https://www.likecs.com/show-204784161.html
    listenPort=10940
    brokerIP1 = 127.0.0.1
    namesrvAddr = 127.0.0.1:9876
    #存储路径
    storePathRootDir=E:\\SelfStudy\\rocketmq_jq\\store4
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    2、创建storePathRootDir文件夹
    就是配置文件里storePathRootDir对应的文件夹
    在这里插入图片描述

    3、复制四份修改配置文件后的rocketmq-4.9.4
    在这里插入图片描述
    4、进入rocketmq-1的bin目录下启动nameserver

    mqnamesrv.cmd -n localhost:9876
    
    • 1

    5、分别进入对应的rocketmq的bin目录下执行命令,启动broker

    # 在rocketmq-1\bin下执行
    mqbroker.cmd -n localhost:9876 -c ../conf/2m-2s-async/broker-a.properties
    # 在rocketmq-2\bin下执行
    mqbroker.cmd -n localhost:9876 -c ../conf/2m-2s-async/broker-a-s.properties
    # 在rocketmq-3\bin下执行
    mqbroker.cmd -n localhost:9876 -c ../conf/2m-2s-async/broker-b.properties
    # 在rocketmq-4\bin下执行
    mqbroker.cmd -n localhost:9876 -c ../conf/2m-2s-async/broker-b-s.properties
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    6、仪表板观察集群
    在这里插入图片描述

  • 相关阅读:
    SpringBoot实现多线程
    网络知识学习(笔记二)
    Spring Data MongoTemplate insert 插入数据报duplicate key的问题
    竞赛 深度学习LSTM新冠数据预测
    Scrapy与分布式开发(2.3):lxml+xpath基本指令和提取方法详解
    MR直播实例(混合现实直播)高品质企业直播
    C/C++轻量级并发TCP服务器框架Zinx-框架开发002: 定义通道抽象类
    TCP/IP 网络分层模型
    SpringBoot 集成 SpringSecurity + MySQL + JWT 附源码,废话不多直接盘
    GitLab + Jenkins + Harbor 工具链快速落地指南
  • 原文地址:https://blog.csdn.net/qq_37718403/article/details/126647619