• lock failed, MQ already started 问题处理


    前言

    刚接触 RocketMQ 而且是在 WIN10 平台上使用, 有太多东西都忘了怎么使用, 现在记录一下这些东西



    检查几个问题

    启动 mqbroker 的方式

    • 直接启动
    $mqpath> binmqbroker.cmd confyou_special_config.properties
    
    • 使用 start 命令
    $mqpath> binmqbroker.cmd confyou_special_config.properties
    

    两种启动方式没有本质区别, 但使用 start 命令, 会为程序重开一个cmd页面, 比较方便

    是否使用操作项: -c

    $mqpath> binmqbroker.cmd -h
    usage: mqbroker [-c <arg>] [-h] [-m] [-n <arg>] [-p]
     -c,--configFile <arg>       Broker config properties file
     -h,--help                   Print help
     -m,--printImportantConfig   Print important config item
     -n,--namesrvAddr <arg>      Name server address list, eg: 192.168.0.1:9876;192.168.0.2:9876
     -p,--printConfigItem        Print all config item
    "Broker starts OK"
    
    • 带操作项
      • 带操作项可以使用一些自定义的配置

      • 一般使用集群里, 都需要带操作项, 使用自己的配置

    • 不带操作项
      • 不带操作项, 则使用默认配置的一些配置

      • 这种情况下启动两个broker, 基本都会在第二个broker, 报lock failed, MQ already started

      • 因为使用了相同的默认配置(只启动一个broker不受影响)

    是否使用不同的配置文件

    • 不同的配置, 需求满足最基本的配置不同
      • brokerName 不同

      • brokerId 不同

      • listenPort 不同

      • storePathRootDir 不同

    • 相同的配置
      • 不带操作项 的情况类似, 会导致 lock failed, MQ already started



    解决办法

    • 使用 start 命令

    • 使用操作项 -c

    • 使用不同的配置文件
    • 最终的启动命令为:
    $mqpath> start binmqbroker.cmd -c confmy-2m2s-syncroker-b.properties
    
    $mqpath> start binmqbroker.cmd -c confmy-2m2s-syncroker-a-s.properties
    


    示例配置

    主机: 192.168.0.123 上的两个 broker 的配置

    • broker-a.properties (a节点主配置文件)
    namesrvAddr=192.168.0.123:9876; 192.168.0.124:9876
    brokerClusterName=DefaultCluster
    brokerName=broker-a
    brokerId=0
    deleteWhen=04
    fileReservedTime=48
    brokerRole=SYNC_MASTER
    flushDiskType=ASYNC_FLUSH
    listenPort=10911
    storePathRootDir=D:/workfile/logs/rocketmqlogs/store-a
    
    • broker-b-s.properties (b节点从配置文件)
    namesrvAddr=192.168.0.123:9876; 192.168.0.124:9876
    brokerClusterName=DefaultCluster
    brokerName=broker-b
    brokerId=1
    deleteWhen=04
    fileReservedTime=48
    brokerRole=SLAVE
    flushDiskType=ASYNC_FLUSH
    listenPort=11011
    storePathRootDir=D:/workfile/logs/rocketmqlogs/store-b
    

    主机: 192.168.0.124 上的两个 broker 的配置

    • broker-b.properties (b节点主配置文件)
    namesrvAddr=192.168.0.123:9876; 192.168.0.124:9876
    brokerClusterName=DefaultCluster
    brokerName=broker-b
    brokerId=0
    deleteWhen=04
    fileReservedTime=48
    brokerRole=SYNC_MASTER
    flushDiskType=ASYNC_FLUSH
    listenPort=10911
    storePathRootDir=D:/workfile/logs/rocketmqlogs/store-b
    
    • broker-a-s.properties (a节点从配置文件)
    namesrvAddr=192.168.0.123:9876; 192.168.0.124:9876
    brokerClusterName=DefaultCluster
    brokerName=broker-a
    brokerId=1
    deleteWhen=04
    fileReservedTime=48
    brokerRole=SLAVE
    flushDiskType=ASYNC_FLUSH
    listenPort=11011
    storePathRootDir=D:/workfile/logs/rocketmqlogs/store-a
    



    参考来源

    lock failed, MQ already started问题解决
    window系统rocketMq--broker模式配置

  • 相关阅读:
    CV大牛/实验室主页
    mendeley使用技巧
    卷积理解与思考
    CMake构建OpenGL项目
    信号与系统学习(2)-跃阶信号
    信号与系统学习(1)-正弦信号和指数信号
    txt转换为mat
    matlab取整函数
    三维观察流水线的理解
    C#中文和UNICODE字符转换方法
  • 原文地址:https://www.cnblogs.com/vitoboy/p/15309087.html
Copyright © 2020-2023  润新知