【RocketMQ源码学习错误已解决】之broker启动一直报错。错误code-3。

  • 作者: 凯哥Java(公众号:凯哥Java)
  • RocketMQ
  • 时间:2022-10-20 14:48
  • 4610人已阅读
简介 【RocketMQ源码学习】之broker启动一直报错。报错一直提示退出code为-3解决办法

🔔🔔🔔好消息!好消息!🔔🔔🔔

有需要的朋友👉:联系凯哥 微信号 kaigejava2022

【RocketMQ源码学习】之broker启动一直报错。报错一直提示退出code为-3解决办法。

下载rocketmq源码后,配置好broker.conf文件,启动broker时候报错:

b7376abc177ee26773e8178d6230e686.png

错误code为-3.

先来看看凯哥的broker.conf配置文件信息:

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
# namesrvAddr地址
namesrvAddr=127.0.0.1:9876
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
autoCreateTopicEnable=true

# 存储路径
storePathRootDir=E:/data/rocketmqdata/dataDir
# commitLog路径
storePathCommitLog=E:/data/rocketmqdata/dataDir/commitlog
# 消息队列存储路径
storePathConsumeQueue=E:/data/rocketmqdata/dataDir/consumequeue
# 消息索引存储路径
storePathIndex=E:/data/rocketmqdata/dataDir/index
# checkpoint文件路径
storeCheckpoint=E:/data/rocketmqdata/dataDir/checkpoint
# abort文件存储路径
abortFile=E:/data/rocketmqdata/dataDir/abort

写的很清楚啊。指定了存储目录。

那么哪了错误了呢?根据源码添加日志及断点:

8c091accd962668fe22f3dad103a095f.png我们可以看到异常信息为:

java.io.FileNotFoundException: E:\data\rocketmqdata\dataDir\checkpoint (拒绝访问。)

打开指定目录:

f1533fafe759e4eb74f7bb2808ee43c4.png

我们可以看到checpoint这东西是个目录!!!目录!!!!目录啊!!!

这是凯哥手欠,创建的。

我们把配置的存储目录相关的都注释掉,走默认的启动成。存储的根目录如下:

d25e02c288b27462818f22197500e017.png

。我们在来看看,启动默认的存储目录都有什么?

deccc6696e6c1ae009bad482a18ee6a9.png

只有三个目录。所以,手别欠欠的看到配置就创建目录。

修改方法:只创建broker.conf中配置的

=E:/data/rocketmqdata/dataDir

这个目录既可以了。其他的不用创建。代码会自动创建的。

TopTop