rocketmq管理工具

一、mqadmin管理工具 进入RocketMQ安装位置,在bin目录下执行
./mqadmin {command} {args}
详细命令可参考
https://www.iteye.com/blog/jameswxx-2091971
https://yq.aliyun.com/articles/664981
注意事项

  • 几乎所有命令都需要配置-n表示NameServer地址,格式为ip:port
  • 几乎所有命令都可以通过-h获取帮助
  • 如果既有Broker地址(-b)配置项又有clusterName(-c)配置项,则优先以Broker 地址执行命令;如果不配置Broker地址,则对集群中所有主机执行命令
二、集群监控平台搭建 1.概述 【rocketmq管理工具】RocketMQ有一个对其扩展的开源项目incubator-rocketmq-externals,这个项目中有一个子模块叫rocketmq-console,这个便是管理控制台项目了,先将incubator-rocketmq-externals拉到本地,因为我们需要自己对rocketmq-console进行编译打包运行。
rocketmq管理工具
文章图片
rocketmq-console.png 文档:https://rocketmq-1.gitbook.io/rocketmq-connector/rocketmq-connect-1/rocketmq-console
2.下载并编译打包
git clone https://github.com/apache/rocketmq-externals cd rocketmq-console mvn clean package -Dmaven.test.skip=true

注意:打包前在rocketmq-console中配置namesrv集群地址:
rocketmq.config.namesrvAddr=192.168.25.135:9876; 192.168.25.138:9876

启动rocketmq-console:
java -jar rocketmq-console-ng-1.0.0.jar

启动成功后,我们就可以通过浏览器访问http://localhost:8080进入控制台界面了,如下图:
rocketmq管理工具
文章图片
image.png 集群状态:
rocketmq管理工具
文章图片
image.png 官网源码找不到,自传源码:https://github.com/fatsnakeok/rocketmq-externals-master.git
******** 最新版已经改为docker了 ********
  • 1、下载镜像
docker pull styletang/rocketmq-console-ng #下载过程会比较慢请耐心等待

  • 2、创建容器
docker run --link rmqnamesrv:rmqnamesrv-e "JAVA_OPTS=-Drocketmq.namesrv.addr=rmqnamesrv1:19876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8001:8080 -t styletang/rocketmq-console-ngdocker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=docker.for.mac.host.internal:19876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8082:8080 -t styletang/rocketmq-console-ng

在宿主机(MacOS系统)上运行了原生的RocketMQ服务,为了方便管理,需要以Docker方式运行RocketMQ的管理工具——rocketmq-console (项目地址:https://github.com/apache/rocketmq-externals/tree/master/rocketmq-console)。
在容器的启动命令中需要指定RocketMQ的NameServer的位置,由于RocketMQ运行在宿主机,因此使用如下命令:
docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=docker.for.mac.host.internal:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8082:8080 -t styletang/rocketmq-console-ng:1.0.0
红色部分即表示Docker引擎运行所在的宿主机。
  • 3、打开控制台
    地址:http://rmq-console.cn:18000
本地请访问:localhost:8001
  • 4、问题总结:
    1】在实际使用中,会出现获取不到broker的信息,如果broker(docker地址:A,物理机地址:B。配置brokerIP1 =B),那么从console端直接访问B地址,可能不识别,创建容器时需要“--link rmqbroker:B”让console容器解析B地址。
  • 5、结束语
    以后有更新版本也可按照上述方法修改,创建镜像。
  • 6、参考文档:
    https://github.com/apache/rocketmq-externals/tree/master/rocketmq-console

    推荐阅读