E:\home\rocketmq-all-4.6.0-bin-release\bin>mqbroker.cmd -c ../conf/2m-2s-async/broker-b-s.properties
java.lang.RuntimeException: Lock failed,MQ already started
at org.apache.rocketmq.store.DefaultMessageStore.start(DefaultMessageStore.java:222)
at org.apache.rocketmq.broker.BrokerController.start(BrokerController.java:853)
at org.apache.rocketmq.broker.BrokerStartup.start(BrokerStartup.java:64)
at org.apache.rocketmq.broker.BrokerStartup.main(BrokerStartup.java:58)
原因:在集群中master和slave共用一个storePath造成的
解决方案:我们要启动的每一个broker要指定不一样的storePath 路径就行,也就是在我们的配置文件中修改即可,如更改配置文件storePathRootDir和storePathCommitLog属性路径
broker-a.properties
storePathRootDir=E:/home/rocketmq-all-4.6.0-bin-release/data/broker-a/store
storePathCommitLog=E:/home/rocketmq-all-4.6.0-bin-release/data/broker-a/store/commitlog
broker-a-s.properties
storePathRootDir=E:/home/rocketmq-all-4.6.0-bin-release/data/broker-a-s/store
storePathCommitLog=E:/home/rocketmq-all-4.6.0-bin-release/data/broker-a-s/store/commitlog
broker-b.properties和broker-b-s.properties同理