RocketMQ 常用命令mqadmin与控制面板

news2024/11/18 2:50:38

使⽤发送和接收消息验证MQ

验证生产者:
配置 nameserver 的环境变量 ,在发送/ 接收消息之前,需要告诉客户端 nameserver 的位置。配置环境变量
NAMESRV_ADDR
vim /etc/profile

export NAMESRV_ADDR="192.168.136.66:9876;192.168.136.67:9876"
使⽤ bin/tools.sh ⼯具验证消息的发送,默认会发 1000 条消息,下面的命令相当于提供了一个生产者的程序
./tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult [sendStatus=SEND_OK, msgId=7F0000011A085B2133B16F18735A03E0, offsetMsgId=C0A8884200002A9F00000000000177A8, messageQueue=MessageQueue [topic=TopicTest, brokerName=broker-a, queueId=2], queueOffset=124]
SendResult [sendStatus=SEND_OK, msgId=7F0000011A085B2133B16F18735D03E1, offsetMsgId=C0A8884200002A9F000000000001786A, messageQueue=MessageQueue [topic=TopicTest, brokerName=broker-a, queueId=3], queueOffset=124]
SendResult [sendStatus=SEND_OK, msgId=7F0000011A085B2133B16F18736003E2, offsetMsgId=C0A8884300002A9F00000000000177AA, messageQueue=MessageQueue [topic=TopicTest, brokerName=broker-b, queueId=0], queueOffset=124]
SendResult [sendStatus=SEND_OK, msgId=7F0000011A085B2133B16F18736403E3, offsetMsgId=C0A8884300002A9F000000000001786C, messageQueue=MessageQueue [topic=TopicTest, brokerName=broker-b, queueId=1], queueOffset=124]
SendResult [sendStatus=SEND_OK, msgId=7F0000011A085B2133B16F18736803E4, offsetMsgId=C0A8884300002A9F000000000001792E, messageQueue=MessageQueue [topic=TopicTest, brokerName=broker-b, queueId=2], queueOffset=124]
SendResult [sendStatus=SEND_OK, msgId=7F0000011A085B2133B16F18736C03E5, offsetMsgId=C0A8884300002A9F00000000000179F0, messageQueue=MessageQueue [topic=TopicTest, brokerName=broker-b, queueId=3], queueOffset=124]
SendResult [sendStatus=SEND_OK, msgId=7F0000011A085B2133B16F18737003E6, offsetMsgId=C0A8884200002A9F000000000001792C, messageQueue=MessageQueue [topic=TopicTest, brokerName=broker-a, queueId=0], queueOffset=124]
SendResult [sendStatus=SEND_OK, msgId=7F0000011A085B2133B16F18737403E7, offsetMsgId=C0A8884200002A9F00000000000179EE, messageQueue=MessageQueue [topic=TopicTest, brokerName=broker-a, queueId=1], queueOffset=124]
13:44:33.467 [NettyClientSelector_1] INFO RocketmqRemoting - closeChannel: close the connection to remote address[192.168.136.66:11011] result: true
13:44:33.481 [NettyClientSelector_1] INFO RocketmqRemoting - closeChannel: close the connection to remote address[192.168.136.67:11011] result: true
13:44:33.482 [NettyClientSelector_1] INFO RocketmqRemoting - closeChannel: close the connection to remote address[192.168.136.66:9876] result: true
13:44:33.482 [NettyClientSelector_1] INFO RocketmqRemoting - closeChannel: close the connection to remote address[192.168.136.67:10911] result: true
13:44:33.483 [NettyClientSelector_1] INFO RocketmqRemoting - closeChannel: close the connection to remote address[192.168.136.66:10911] result: true

上面可以看到发送1000条消息是成功的

验证消费者:

也是启动一个消费者的程序,消费者就将生产者发送的消息全部接收到了。使⽤bin/tools.sh⼯具验证消息的接收。

./tools.sh org.apache.rocketmq.example.quickstart.Consumer

看到接收到的消息:

ConsumeMessageThread_please_rename_unique_group_name_4_20 Receive New Messages: [MessageExt [brokerName=broker-b, queueId=0, storeSize=194, queueOffset=486, sysFlag=0, bornTimestamp=1726984215960, bornHost=/192.168.136.66:57460, storeTimestamp=1726984215964, storeHost=/192.168.136.67:10911, msgId=C0A8884300002A9F000000000005C11B, commitLogOffset=377115, bodyCRC=1193163826, reconsumeTimes=0, preparedTransactionOffset=0, toString()=Message{topic='TopicTest', flag=0, properties={MIN_OFFSET=0, MAX_OFFSET=500, CONSUME_START_TIME=1726984415179, UNIQ_KEY=7F0000011AA75B2133B16F1DAD98037D, CLUSTER=rocketmq-cluster, TAGS=TagA}, body=[72, 101, 108, 108, 111, 32, 82, 111, 99, 107, 101, 116, 77, 81, 32, 56, 57, 51], transactionId='null'}]] 

上面就说明搭建的服务是ok的。

关闭服务器

  • 关闭broker

./mqshutdown broker

  • 关闭nameserver

./mqshutdown namesrv

 

mqadmin 

RocketMQ 提供了命令⼯具⽤于管理 topic(创建,更新,删除) broker 、集群、消息等。⽐如可以使⽤mqadmin创建 topic

[root@localhost bin]# ./mqadmin clusterList -n 127.0.0.1:9876
#Cluster Name     #Broker Name            #BID  #Addr                  #Version                #InTPS(LOAD)       #OutTPS(LOAD) #PCWait(ms) #Hour #SPACE
rocketmq-cluster  broker-a                0     192.168.136.66:10911   V4_9_8                   0.00(0,0ms)         0.00(0,0ms)          0 74.73 0.0700
rocketmq-cluster  broker-a                1     192.168.136.67:11011   V4_9_8                   0.00(0,0ms)         0.00(0,0ms)          0 74.73 0.0600
rocketmq-cluster  broker-b                0     192.168.136.67:10911   V4_9_8                   0.00(0,0ms)         0.00(0,0ms)          0 74.73 0.0600
rocketmq-cluster  broker-b                1     192.168.136.66:11011   V4_9_8                   0.00(0,0ms)         0.00(0,0ms)          0 74.73 0.0700

#创建topic

[root@localhost bin]# ./mqadmin updateTopic -n localhost:9876 -c rocketmq-cluster -t lucas_topic
create topic to 192.168.136.66:10911 success.
create topic to 192.168.136.67:10911 success.
TopicConfig [topicName=lucas_topic, readQueueNums=8, writeQueueNums=8, perm=RW-, topicFilterType=SINGLE_TAG, topicSysFlag=0, order=false]

topic建在rocketmq-cluster集群下的所有master身份的broker上,两个broker上broker-a-master和broker-b-master上都会创建topic。

#查看所有topic :
sh mqadmin topicList -n 192.168.1.23:9876
 
#topic路由信息   
sh mqadmin topicRoute –n 192.168.208.190:9876 –t testb
 
#删除topic
sh mqadmin deleteTopic -n 192.168.208.190:9876 -c DefaultCluster -t topicWarning  # -c 集群名 -t topic名
 
#查询集群消息
sh mqadmin  clusterList -n 192.168.208.190:9876   

上面这些命令都不是很直观 

安装可视化管理控制平台

RocketMQ 没有提供可视化管理控制平台,可以使⽤第三⽅管理控制平台: https://g
ithub.com/apache/rocketmq-externals/tree/rocketmq-console-1.0.0/rocketmq-cons
ole
给服务器安装 maven 环境 ,修改 rocketmq-externals/rocketmq-externals-master/rocketmq、console/src/main/resources/application.properties 配置⽂件中的nameserver地址。
rocketmq.config.namesrvAddr=172.16.253.103:9876;172.16.253.101:9876
;172.16.253.102:9876
回到 rocketmq-externals/rocketmq-externals-master/rocketmq/console 路径下执⾏ maven 命令进⾏打包
mvn clean package -Dmaven.test.skip=true
运⾏ jar 包。进⼊到 rocketmq-externals/rocketmq-externals/master/rocketmq-console/target ⽬录内执⾏如下命令:
nohup java -jar rocketmq-console-ng-1.0.1.jar
访问所在服务器的 8080 端⼝,查看集群界⾯,可以看到之前部署的集群

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2166881.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虚幻引擎第三人称和第一人称任意切换

虚幻引擎想要在第三人称和第一人称之间任意切换 , 就需要创建两个摄像机 第一人称摄像机 默认激活 去掉勾选 然后添加一个增强输入 双击进去绑定 设置成已按下 , 这样长按只会生效一次 打开第三人称事件图表 , 按如图所示设置即可 , 记得设置第一人称用控制器旋转Yaw , 这…

【机器学习】音乐生成——AI如何创作个性化音乐与配乐

我的主页:2的n次方_ 音乐是人类文化的重要组成部分,它具有极强的情感表达和艺术价值。近年来,随着人工智能技术的飞速发展,AI已经能够自动生成音乐,甚至根据用户需求创作个性化配乐。AI生成音乐的应用场景广泛&…

antd嵌套表单验证

好久之前写的,但是突然想起来没写到这里,还是写一下吧~, 也没啥技术含量,就是有需要的同学要是能一下子看到就方便了~ 嵌套表单项精髓就是在shouldUpdate属性 注意这句,当 shouldUpdate 为 true 时,Form 的任意变化都…

LVS-NAT实战案例,实现四层负载均衡

工作原理 架构概述: 在LVS-NAT架构中,客户端的请求首先到达负载均衡器(LVS服务器),然后由LVS根据一定的算法将请求转发到后端的真实服务器。负载均衡器会通过NAT技术修改数据包的源地址和目标地址。 数据流转&#xff…

C++之STL—常用遍历算法

算法头文件 <algorithm>是所有STL头文件中最大的一个&#xff0c;范围涉及到比较、 交换、查找、遍历操作、复制、修改等等 <numeric>体积很小&#xff0c;只包括几个在序列上面进行简单数学运算的模板函数 <functional>定义了一些模板类,用以声明函数对象…

Blob数据类型报错时如何获取错误信息

const pdfOrg async (record) > {// 假设 transferExportPdf是结构 result 返回的错误信息let result await transferExportPdf({ batchId: record.batchId });//blob 结构const blob new Blob([result], {type: result.type,});if (blob.type "application/json&q…

【EPLAN】解决ELM与ELC授权不匹配问题

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 解决EPLAN授权-ELM与ELC授权不匹配问题&#xff1b; 2、 问题场景 用于解决在EPLAN 服务器端 ELM 授权进行了更新激活&#xff0c;客户端授权连接后&#xff0c;客户端 ELC 授权信息没有变更的情况&#xff0c;尝试…

02 图结构

目录 图的基本概念图的存储结构图的遍历最小生成树最短路径问题 1.图的基本概念 图是由顶点集合及顶点间的关系组成的一种数据结构&#xff1a;G&#xff08;V&#xff0c;E&#xff09;&#xff0c;其中&#xff1a; 顶点集合V{x | x属于某个数据对象集} 是有穷非空集合 E {…

无人机之侦测技术篇

无人机的侦测技术是综合利用多种传感器来“发现”或“找到”无人机目标&#xff0c;并通过分析其物理属性&#xff08;如光学特性、热学特性、声学特性、磁学特性&#xff09;来进行识别和跟踪。 一、雷达探测 原理&#xff1a;雷达系统通过发射电磁波&#xff0c;利用无人机…

15年408计算机网络

第一题&#xff1a; 解析&#xff1a; 接收方使用POP3向邮件服务器读取邮件&#xff0c;使用的TCP连接&#xff0c;TCP向上层提供的是面向连接的&#xff0c;可靠的数据传输服务。 第二题&#xff1a; 解析&#xff1a;物理层-不归零编码和曼彻斯特编码 编码1&#xff1a;电平在…

【小程序 - 大智慧】Expareser 组件渲染框架

目录 问题思考课程目标Web Component类型说明定义组件属性添加 Shadow DOMTemplate and SlotExparser 框架原理自定义组件内置组件 下周计划 问题思考 首先&#xff0c;给大家抛出去几个问题&#xff1a; 前端框架 Vue React 都有自己的组件库&#xff0c;但是并不兼容&#…

Vxe UI vue vxe-table vxe-grid 单元格与表尾单元格如何格式化数据

Vxe UI vue vxe-table vxe-grid 单元格与表尾单元格如何格式化数据 查看 github vxe-table 官网 单元格内容格式化 通过 formatter 属性自定义格式化方法 <template><div><vxe-grid v-bind"gridOptions"></vxe-grid></div> </t…

软考高级:SOA 和微服务 AI 解读

概念讲解 SOA&#xff08;面向服务架构&#xff09;和微服务虽然都是服务架构的设计模式&#xff0c;但它们的侧重点和实现方式有很大区别。为了帮助你理解这两个概念&#xff0c;我们可以从生活中的例子、概念本身的讲解以及记忆方法三方面入手。 生活化例子 **SOA&#xf…

python高级用法_闭包

闭包 在函数嵌套的前提下&#xff0c;内部函数使用了外部函数的变量&#xff0c;并且外部函数返回了内部函数&#xff0c;我们把这个使用外部函数变量的内部函数称为闭包 简单闭包 def outer(logo):def inner(msg):print("<%s>%s<%s>" % (logo, msg, …

JSON与CSV之间的主要区别

今天要和大家深入探讨一个数据处理中的常见问题——JSON与CSV之间的主要区别。这两种数据格式各有千秋&#xff0c;适用于不同的场景。让我们一起来了解它们的特点和应用。 一、数据结构的差异 首先&#xff0c;JSON是一种轻量级的数据交换格式&#xff0c;能够表示复杂的数据…

【JAVA基础】JAVA类的拷贝使用示例

文章目录 一、框架介绍二、性能对比三、易用性对比四、使用示例&#xff08;一&#xff09;Apache Commons BeanUtils 使用例子1、第一个例子&#xff1a;两个对象属性个数和名称一样&#xff0c;复制过程2、第二个例子&#xff1a;属性个数和名称不一样&#xff0c;复制过程 &…

简易STL实现 | 红黑树的实现

1、原理 红黑树&#xff08;Red-Black Tree&#xff09;是一种自平衡的二叉搜索树 红黑树具有以下特性&#xff0c;这些特性保持了树的平衡&#xff1a; 节点颜色&#xff1a; 每个节点要么是红色&#xff0c;要么是黑色根节点颜色&#xff1a; 根节点是黑色的。叶子节点&…

信息收集---CDN指纹识别

1. 什么是CDN 在渗透测试过程中&#xff0c;经常会碰到网站有CDN的情况。CDN即内容分发网络&#xff0c;主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题。说的简单点&#xff0c;就是一组在不同运营商之间的对接点上的高速缓存服务器&#xff0c;把用户经常访…

蓝牙技术|蓝牙6.0技术或将实现厘米级精确查找定位功能

蓝牙技术联盟发布蓝牙 6.0 技术规范&#xff0c;引入了一项名为蓝牙“信道探测”的新功能&#xff0c;可以在两个蓝牙 LE 设备之间实现双向测距&#xff0c;有望为电子设备上的“查找”功能带来更精确的定位能力。蓝牙技术联盟表示&#xff0c;这项新技术将为数十亿未来的蓝牙设…

深度学习:调整学习率

目录 前言 一、什么是调整学习率&#xff1f; 二、调整学习率的作用 三、怎么调整学习率 1.有序调整 2.自适应调整 3.自定义调整 4.调整示例 前言 在深度学习中&#xff0c;调整学习率是非常重要的&#xff0c;它对模型的训练效果和收敛速度有显著影响。 一、什么是调整…