RocketMQ源码下载使用
RocketMQ源码下载使用
RocketMQ[github]下载地址 我公司用的是 4.5.1 ,所以我为了解决问题就下载了对应的版本
NameServer 要先启动
【NamesrvStartup.java】直接启动你会发现
Please set the ROCKETMQ_HOME variable in your environment
to match the location of the RocketMQ installation
设置环境变量 匹配到本地的rockerMQ NameServer 地址
ROCKETMQ_HOME : nameServer的项目地址
设置好了之后你会发现换了一个异常
Could not open [/rocketmq-rocketmq-all-4.5.1 2/namesrv/conf/logback_namesrv.xml].
缺少 /namesrv/conf/logback_namesrv.xml 日志文件
复制distribution/conf目录下面的logback_namesrv.xml
到缺少的文件下即可,namesrv/conf文件夹自己创建
至此nameSer 就可以成功启动了
现在我们启动broker
【BrokerStartup.java】直接启动你会发现
Please set the ROCKETMQ_HOME variable in your environment
to match the location of the RocketMQ installation
设置环境变量 匹配到本地的rockerMQ Broker 地址
跟nameSer一样 咱们设置broker的环境变量
ROCKETMQ_HOME : broker的项目地址
再次启动 发现和nameSer一样 缺少logback_broker.xml 文件
同样复制distribution/conf目录下面的logback_broker.xml
在此启动 看起来是没有问题的
其实最好还要配置一个 broker.conf 在broker/conf文件中,这是可以指定一些系统参数的文件
对于RockerMQConsole源码 直接下载启动即可 ,端口8080 ,访问一下 就可以看到了
看看控制台NameSer 已经注册上去了,但是broker 却没有发现,怎么处理呢
这就是缺少broker.conf 文件 同样是在 distribution/conf目录下面的broker.conf
我加了一点参数,都有注释
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# 是否允许 Broker 自动创建 Topic,建议线下开启,线上关闭 !!
autoCreateTopicEnable = true
# 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup = true
# 设置broker节点所在服务器的ip地址 如果不设置,就是内网ip
brokerIP1 = 127.0.0.1
brokerIP2 = 127.0.0.1
#nameServer地址,分号分割 brocker 需要向broker注册
namesrvAddr = 127.0.0.1:9876
需要在启动broker时 添加 指定读取文件 参数如下:
-c conf/broker.conf
完结撒花