12

跟我学RocketMQ[1-2]之安装RocketMQ-Console管理平台

 3 years ago
source link: http://wuwenliang.net/2019/01/09/%E8%B7%9F%E6%88%91%E5%AD%A6RocketMQ-1-2-%E4%B9%8B%E5%AE%89%E8%A3%85RocketMQ-Console%E7%AE%A1%E7%90%86%E5%B9%B3%E5%8F%B0/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
跟我学RocketMQ[1-2]之安装RocketMQ-Console管理平台 | 朝·闻·道

上文中我们初步了解了RocketMQ的基础结构,并在linux环境下部署了单节点模式的消息服务。

官方提供了命令行模式下的管理工具,脚本路径位于:

[安装路径]/bin/mqadmin

支持对topic、订阅组、broker等的统计及管理。

对于开发者,我们更愿意使用图形化的可视界面来进行管理,这种方式对于运维也是极为友好的。官方早已给我们考虑到了,在github的rocketmq-externals项目中,有一个名为rocketmq-console的子项目,就是图形化界面的RocketMQ管控台。

由于当前版本官方没有提供打包好的二进制文件,因此需要我们自行下载源码编译打包。

项目地址

这里需要特别注意的是,尽量不要在master分支的最新版代码下进行编译,会发生很多奇怪的打包错误,诸如:找不到符号之类的问题层出不穷,应该是最新版还不稳定的原因。我们需要手动指定到 Release rocketmq-console 1.0.0 version 这个分支,如下图所示:

源码地址
源码地址

我们直接点击 Download ZIP 下载代码压缩包即可,这个是最简单的方式。

代码压缩包下载
代码压缩包下载

将下载好的源码解压到某个路径,cd到源码的根路径下,我的路径为

D:\rocketmq\rocketmq-externals-release-rocketmq-console-1.0.0\rocketmq-console

在该路径下执行打包命令,注意,一定要添加跳过单元测试参数,否则会打包不通过。

mvn clean package -Dmaven.test.skip=true

等待片刻,待maven打包结束之后,在target目录下会生成一个名为rocketmq-console-ng-1.0.0.ja的二进制包,该项目是使用springboot编写的,因此我们可以直接通过java -jar方式启动。

上传jar包

当然你也可以打包为docker镜像部署,我这里为了方便测试,直接上传到服务端用脚本方式进行启动。

使用rz -y 命令上传jar包到服务端的/app/rocketmq/admin 路径下,编写一个启动脚本,并给予当前用户(我是root)可读写权限。

echo 'nohup java -jar rocketmq-console-ng-1.0.0.jar &' > run.sh

chmod 755 run.sh

设置环境变量namesrv

因为我们没有对源码做修改,因此需要设置一个环境变量,让控制台能够连接到rocketmq的nameserver。

设置namesrv环境变量:

export NAMESRV_ADDR="localhost:9876"

该变量是rocketmq-console-ng-1.0.0项目在启动后默认加载的,因此需要显式指定,这里的“localhost:9876”要和本地启动的nameserver保持一致。否则启动rocketmq-console-ng-1.0.0.jar会报错。

启动控制台

执行启动脚本

sh run.sh

查看nohup输出的日志,显示“boot success”即表示启动成功。

访问页面url:

[server-ip]:8080

server-ip是你自己部署的机器的ip,要保证本地能够访问通;8080是rocketmq-console-ng-1.0.0默认的访问端口,该端口可以在启动时候通过 -Dserver.port 进行更改,也可以直接更改源码配置文件application.properties 重新打包,我建议直接通过 -D 进行动态指定。

我在安装的rocketmq的时候已经关掉了服务端防火墙,如果你访问不到机器的8080端口,尝试开放ip权限或者关闭防火墙。

在浏览器输入地址,我的地址为:

http://172.30.83.100:8080/

看到如下界面表明我们的控制台安装成功。

控制台页面
控制台页面

这个页面目前做的已经属于基本可用状态了,

  1. 支持中英文切换
  2. 支持查看基本的运行图形
  3. 支持配置集群属性
  4. 支持对topic进行配置
  5. 支持对生产者和消费者进行管理等

如果你有幸用过商业版的rocketmq,你会发现使用该开源版的ui界面也是类似的感觉,可以说是很良心了。

详细的使用方式我会在后续的代码讲解中穿插进行,到这里,我们就拥有了一个最简的可运行可编程可测试的rocketmq环境。

附录:参考链接

安装rocketmq-console

rocketmq4.2.0 - 服务安装, web管理界面安装


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK