参考书籍: RocketMQ实战与原理解析: 作者杨开元
一 单机部署
亲测jdk11有问题,无法启动,最好用jdk8
修改shell脚本:
修改合适的内存:
[{"src":"xap:resources/8671f696b6ea3867a15ca1aae14194e5fadf6ae2d0cce2e75903af3926b70af7.png","type":"image","width":506,"height":137}]
先启动NameServer再启动一个Broker:
[{"src":"xap:resources/5f4f204817f843af0c68a25f1d84becb4f67bc9b75440fdc4bed1ab55fcb02fa.png","type":"image","width":335,"height":179}]
日志默认位置: ~/logs/rocketmqlogs
测试:
发送demo: sh tools.sh org.apache.rocketmq.example.quickstart.Producer
接受demo: sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
注意:每个窗口都必须先设置NAMESRV_ADDR,否则无法连接: export NAMESRV_ADDR=localhost:9876
关闭
sh mqshutdown namesrv
sh mqshutdown broker
二 集群部署
三 控制台搭建
下载解压
wget https://github.com/apache/rocketmq-externals/archive/master.zip
解压 unzip
编译打包
之后进入目录: cd rocketmq-externals-master/rocketmq-console
使用maven编译打包:
mvn clean package
注意: 如果报错就删除测试代码:
rm src/test -rf #删除src 目录下的 test
如果慢就编辑maven的setting,使用阿里云的镜像地址
运行
编译后找到target下面的jar包,其实是一个springboot项目,启动
nohup java -jar rocketmq-console-ng-1.0.0.jar --server.port=8561 --rocketmq.config.namesrvAddr=a:9876;b:9876 &
nohup 命令 & :后台启动,防止session或者退出,打断程序运行
成功运行: