【RocketMQ源码学习错误已解决】之broker启动一直报错。错误code-3。
- RocketMQ
- 时间:2022-10-20 14:48
- 4610人已阅读
简介
【RocketMQ源码学习】之broker启动一直报错。报错一直提示退出code为-3解决办法
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
【RocketMQ源码学习】之broker启动一直报错。报错一直提示退出code为-3解决办法。
下载rocketmq源码后,配置好broker.conf文件,启动broker时候报错:
错误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
写的很清楚啊。指定了存储目录。
那么哪了错误了呢?根据源码添加日志及断点:
我们可以看到异常信息为:
java.io.FileNotFoundException: E:\data\rocketmqdata\dataDir\checkpoint (拒绝访问。)
打开指定目录:
我们可以看到checpoint这东西是个目录!!!目录!!!!目录啊!!!
这是凯哥手欠,创建的。
我们把配置的存储目录相关的都注释掉,走默认的启动成。存储的根目录如下:
。我们在来看看,启动默认的存储目录都有什么?
只有三个目录。所以,手别欠欠的看到配置就创建目录。
修改方法:只创建broker.conf中配置的
=E:/data/rocketmqdata/dataDir
这个目录既可以了。其他的不用创建。代码会自动创建的。