一、配置一下RocketMq的运行环境变量:
如果不配置或者配置错误,在启动的时候,可能会报错: 找不到或无法加载主类
原因1:目录配错,即:ROCEKTMQ_HOME 配错,仔细核对一下,包括空格和 / 什么的,最好不要带空格
原因2: 有时Idea里配置的环境变量,需要重启一下Idea工具(我的windows电脑遇到了此情况)
二、配置ROCKETMQ_HOME, 可以直接配置或在IDEA的启动配置参数里配置:
rocketmq-running-config是我新创建的目录,该目录建议不要放在你down的项目里,另找个路径,因为要配置logs文件地址等
ROCKETMQ_HOME : /XXX/XXX/XX/XX/myproject/rocketmq-running-config
!!如果是在IDEA里配置好了,我的idea要重启一下才生效!!
三、在刚才创建的目录rocketmq-running-config里添加配置文件
创建三个目录:conf、logs、store
然后从源码distrbution的conf目录下,拷贝broker.conf和logback_namesrv.xml到刚才新创建的rocketmq-running-config/conf里
四、修改路径
logback_namesvr.xml 文件里有${user.home},替换成 xxxxx/xxxx/rocketmq-running-config
broker.conf: 新增和修改如下
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
#namesrv的地址,代码里写的port是9876
namesrvAddr = 127.0.0.1:9876
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# 存储路径,
storePathRootDir = 运行目录的路径/store
# commitLog
commitLog = 运行目录的路径/store/commitlog
# consume queue
storePathConsumeQueue = 运行目录的路径/store/consumequeue
# 消息文件索引路径
storePathIndex = 运行目录的路径/store/index
# checkpoint 路径
storeCheckpoint = 运行目录的路径/store/checkpoint
# abort文件
abortFile = 运行目录的路径/abort
五、启动NamesrvStartup
如果启动成功,会看到控制台打印了: The Name Server boot success. serializeType=JSON
=======================================================
Broker的相关配置
一、配置ROCKETMQ_HOME
同NameSrv
二、添加运行参数
它需要一个参数:Program arguments里 需要给broker指定一个配置文件存放地址
-c 运行目录的路径/conf/broker.conf
三、将distribution源码里conf下的logback_broker.xml拷贝到 运行目录下
和logback_namesrv.xml一起,并改下路径
四、启动BrokerStartup
The broker[broker-a, 10.112.13.109:10911] boot success. serializeType=JSON and name server is 127.0.0.1:9876
最后去logs文件夹里看下broker.log,看看是否已经成功
启动连接nameSrv(port是9876),这个端口也是在broker.conf里要配的,不能配错