zoukankan      html  css  js  c++  java
  • 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模式配置

  • 相关阅读:
    LeetCode 43 字符串相乘
    HDU 1031 Design T-Shirt
    HDU 1728 逃离迷宫
    HDU 1285 确定比赛名次
    HDU 1116 Plays on words
    HDU 1195 Open the lock
    HDU 1072 Nightmare
    HDU 1272 小希的迷宫
    HDU 1273 漫步森林
    HDU 1269 迷宫城堡
  • 原文地址:https://www.cnblogs.com/vitoboy/p/15309087.html
Copyright © 2011-2022 走看看