前提条件
下载地址:前往 rocketmq.apache.org/release_not… ,下载 Binary 文件即可,例如: RocketMQ 4.5.1的下载地址
系统要求
- 64位操作系统,生产环境建议Linux/Unix/MacOS(Windows操作系统安装说明详见 Windows操作系统安装教程)
- 64位JDK 1.8+
- 4G+的可用磁盘
Linux/Unix/MacOS安装教程
解压压缩包
unzip rocketmq-all-4.5.1-bin-release.zip
切换目录到RocketMQ根目录
cd rocketmq-all-4.5.1-bin-release
启动Name Server
nohup sh bin/mqnamesrv &
验证是否启动OK:
tail -f ~/logs/rocketmqlogs/namesrv.log
如果成功启动,能看到类似如下的日志:
2019-07-18 17:03:56 INFO main - The Name Server boot success. ...
启动 Broker
nohup sh bin/mqbroker -n localhost:9876 &
验证是否启动OK:
tail -f ~/logs/rocketmqlogs/broker.log
如果启动成功,能看到类似如下的日志:
2019-07-18 17:08:41 INFO main - The broker[itmuchcomdeMacBook-Pro.local, 192.168.43.197:10911] b
验证RocketMQ功能正常(可选)
验证生产消息正常
执行如下命令:
export NAMESRV_ADDR=localhost:9876 sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer 复制代码
能看到类似如下输出:
SendResult [sendStatus=SEND_OK, msgId=C0A82BC5F36C511D50C05B41...
验证消费消息正常
执行如下命令:
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer 复制代码
能看到类似如下输出:
ConsumeMessageThread_4 Receive New Messages: [MessageExt [queueId=3, stor.... 复制代码
停止
依次执行以下两条命令即可
命令
sh bin/mqshutdown broker 复制代码
输出如下信息说明停止成功
The mqbroker(36695) is running... Send shutdown request to mqbroker(36695) OK 复制代码
命令
sh bin/mqshutdown namesrv 复制代码
输出如下信息说明停止成功
The mqnamesrv(36664) is running... Send shutdown request to mqnamesrv(36664) OK 复制代码
RocketMQ控制台安装
下载代码
方式一、git下载,执行如下命令
git clone github.com/apache/rock…
方式二、直接下载,访问如下地址即可
修改控制台代码
修改配置
找到rocketmq-console/src/main/resources/application.properties 根据需求,修改配置
- server.contextPath
- 管理后台访问上下文路径,默认为空
- 如果填写,需写成/xxx的形式,例如/console
- 控制台的端口
• server.port=8080 • Name Server地址(if this value is empty,use env value rocketmq.config.namesrvAddr NAMESRV_ADDR | now, you can set it in ops page.default localhost:9876) • rocketmq.config.namesrvAddr= • rocketmq.config.isVIPChannel=( if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true) • rocketmq-console's data path:dashboard/monitor • rocketmq.config.dataPath=/tmp/rocketmq-console/data • rocketmq.config.enableDashBoardCollect=true • rocketmq.config.msgTrackTopicName=(set the message track trace topic if you don't want use the default one) • rocketmq.config.ticketKey=ticket rocketmq.config.loginRequired=false(#Must create userInfo file: ${rocketmq.config.dataPath}/users.properties if the login is required)
例如
console端口
server.port=17890
name server地址
也可以不修改,在启动完console后,在控制台导航栏 - 运维 - NameSvrAddrList一栏设置
rocketmq.config.namesrvAddr=localhost:9876
修改依赖
修改 pom.xml ,修改RocketMQ相关依赖的版本
<rocketmq.version>4.4.0</rocketmq.version> 修改为 <rocketmq.version>你的RocketMQ版本</rocketmq.version> 复制代码
例如:
<rocketmq.version>4.5.1</rocketmq.version> 复制代码
修改代码
修改pom.xml后,org.apache.rocketmq.console.service.impl.MessageServiceImpl#queryMessageByTopic 编译会报错,所以需要解决一下。
DefaultMQPullConsumer consumer = new DefaultMQPullConsumer(MixAll.TOOLS_CONSUMER_GROUP, null); 改为:RPCHook rpcHook = null; DefaultMQPullConsumer consumer = new DefaultMQPullConsumer(MixAll.TOOLS_CONSUMER_GROUP, rpcHook); 复制代码
打包构建
切换到代码根目录
cd rocketmq-externals 复制代码
切换到控制台目录
cd rocketmq-console 复制代码
构建
mvn clean package -DskipTests 复制代码
启动
java -jar rocketmq-console-ng-1.0.1.jar 复制代码
访问
访问 http://localhost:17890 (端口用上面 application.properties 中的 server.port=17890 指定,默认是8080) ,即可看到界面