一、前言
1、本文主要内容
Docker
方式安装RocketMQ-Console
- 源码方式安装
RocketMQ-Console
- 如何开启登录访问
2、RocketMQ-Console介绍
RocketMQ
有一个对其扩展的开源项目incubator-rocketmq-externals,这个项目中有一个子模块叫rocketmq-console
,这个便是管理控制台项目了,提供了对RocketMQ
的可视化管理工具,方便可视化的操作。
包含了多个功能:运维、驾驶舱、集群、主题、消费者、生产者、消息、消息轨迹、connector 等
3、本文环境信息
- 服务器
服务器 | 操作系统 | 硬件配置 | 版本 | 说明 |
---|---|---|---|---|
Linux | CentOS 7 | 4C16G | 64位 | 生产环境建议Linux/Unix |
- 软件
工具/环境 | 版本 | 说明 |
---|---|---|
JDK | 1.8 | RocketMQ Console要求版本在1.7以上 |
Git | 1.8.3.1 | 源码方式安装需要,版本无要求 |
Maven | 3.6.3 | 源码方式安装需求,版本无要求 |
二、安装过程
1、安装
安装RocketMQ-Console
,可以通过两种方式:
-
通过
Docker
镜像安装; -
通过
GitHub
拉取源代码,进行编译,然后启动安装;
具体如下:
通过Docker方式
# 拉取镜像
# 还可以自己通过源码的方式打包镜像,需要有镜像仓库,想了解的可以在公号历史文章里面看一下docker相关的文章。打镜像命令:mvn clean package -Dmaven.test.skip=true docker:build
$ docker pull styletang/rocketmq-console-ng
# 启动,默认端口号是8080端口,映射到服务器里面可以按照需求进行更改
$ docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=127.0.0.1:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8080:8080 -t styletang/rocketmq-console-ng
通过源码方式
# 从GitHub上面拉取代码
$ git clone https://github.com/apache/rocketmq-externals.git
$ cd rocketmq-console
# maven打包
$ mvn clean package -Dmaven.test.skip=true
$ java -jar target/rocketmq-console-ng-2.0.0.jar
默认端口号是8080,可以到rocketmq-console/src/main/resources/application.properties
进行修改。
server.address=0.0.0.0
# server.port=8080
# 我这里将8080改成19876了
server.port=19876
# ……
# 中间省略
# ………
# 这里是指定Nameserv,也可以不指定,在前端控制台进行指定
rocketmq.config.namesrvAddr=localhost:9876
# ……
# 后续省略
# ………
福利
考虑到GitHub
访问速度有时候巨慢的情况,我把我这打好的包传到了网盘里,端口号也被我改成19876
了,不会占用比较常用的8080
端口。可以直接下载后,使用java -jar
启动。
关注「Hugh的白板」公众号,回复「mq控制台」获取。
2、开放防火墙对应端口号
如果你的服务器开通了防火墙,需要对端口号进行开放
#查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
$ firewall-cmd --state
# 开启一个指定端口号
# --permanent 永久生效,没有此参数重启后失效
$ firewall-cmd --zone=public --add-port=19876/tcp --permanent
#重载防火墙规则
firewall-cmd --reload
3、访问
地址:http://localhost:19876
端口默认8080
,如果更改过就用更改过的,使用我提供的jar
包的直接访问我给出的地址即可。
三、登录访问Console
在访问Console时支持按用户名和密码登录控制台,在操作完成后登出。需要做如下的设置:
- 在Spring配置文件
resources/application.properties
中修改 开启登录功能
# 开启登录功能rocketmq.config.loginRequired=true
# Dashboard文件目录,登录用户配置文件所在目录rocketmq.config.dataPath=/tmp/rocketmq-console/data
- 确保
${rocketmq.config.dataPath}
定义的目录存在,并且该目录下创建登录配置文件users.properties
, 如果该目录下不存在此文件,则默认使用resources/users.properties
文件。users.properties
文件格式为:
# 该文件支持热修改,即添加和修改用户时,不需要重新启动console# 格式, 每行定义一个用户, username=password[,N] #N是可选项,可以为0 (普通用户); 1 (管理员)
#定义管理员 admin=admin,1
#定义普通用户user1=user1user2=user2
此时,启动控制台则开启了登录功能