• 四、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、仪表板观察集群
    在这里插入图片描述

  • 相关阅读:
    基于 Github 平台的 .NET 开源项目模板. 嘎嘎实用!
    C++ 顺序线性表的功能
    Pinia 与 Vuex 使用区别
    Java强制类型转换
    【云原生】Docker-compose单机容器集群编排
    pandas学习(四) apply
    Flutter 与 Dart 的市场应用
    Kafka 负载均衡在 vivo 的落地实践
    软件工程:海勒姆定律(Hyrum's Law)
    ajax尚硅谷笔记——跨域请求、axios发送ajax请求、jquery发送ajax请求
  • 原文地址:https://blog.csdn.net/qq_37718403/article/details/126647619