启动命令

start mqnamesrv.cmd

start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true

报错:

java.lang.NullPointerException: Cannot invoke "org.apache.rocketmq.store.MessageStore.getMessageStoreConfig()" because the return value of "org.apache.rocketmq.broker.BrokerController.getMessageStore()" is null
        at org.apache.rocketmq.broker.schedule.ScheduleMessageService.configFilePath(ScheduleMessageService.java:272)
        at org.apache.rocketmq.common.ConfigManager.persist(ConfigManager.java:79)
        at org.apache.rocketmq.broker.BrokerController.shutdownBasicService(BrokerController.java:1480)
        at org.apache.rocketmq.broker.BrokerController.shutdown(BrokerController.java:1567)
        at org.apache.rocketmq.broker.BrokerStartup.createBrokerController(BrokerStartup.java:250)
        at org.apache.rocketmq.broker.BrokerStartup.main(BrokerStartup.java:52)

原因:

存储目录(C:\Users\Administrator\store)中的文件可以解决因中途断网或中断导致的文件损坏问题。这是因为 RocketMQ 在启动时会自动重建这些文件,而损坏的文件会导致启动失败。

解决:

删除 目录(C:\Users\Administrator\store)中的文件
找不到就删除
Windows:%USERPROFILE%\store(例如:C:\Users\你的用户名\store)
Linux/macOS:~/store(即用户主目录下的 store 文件夹)

更多推荐