rocketmq使用mqtt协议

文章目录

  • 前言
  • 一、安装rocketmq
  • 二、打包rocketmq-mqtt
  • 三、配置rocketmq-mqtt
  • 四、初始化操作
  • 五、启动
  • 六、测试


前言

rocketmq从4.9.3开始,可以兼容mqtt协议,需要安装编译一个rocketmq-mqtt工程,参考:https://rocketmq.apache.org/zh/docs/4.x/mqtt/02RocketMQMQTTQuickStart/


一、安装rocketmq

需要安装rocketmq4.9.3以上的版本
安装过程略

broker.conf配置文件中添加参数,开启多队列分发特性

enableLmq = true 
enableMultiDispatch = true

二、打包rocketmq-mqtt

安装maven配置环境变量
过程略
下载并打包

git clone https://github.com/apache/rocketmq-mqttcd rocketmq-mqtt
mvn -Prelease-all -DskipTests clean install -U cd distribution/target/
target下是打包的包

三、配置rocketmq-mqtt

下面例子中 ROCKETMQ所在机器192.168.33.22,ROCKETMQ-MQTT服务所在机器172.16.10.160

修改conf/connect.conf

mqttPort=1883enablePrometheus=true

修改conf/meta.conf
IP换成要运行服务的机器的

selfAddress=172.16.10.160:25000
membersAddress=172.16.10.160:25000

修改conf/service.conf
metaAddr的IP换成要运行服务的机器的
username和secretKey配置了要记住,mqtt生产者要使用它做认证
eventNotifyRetryTopic=xx //notify重试topic,提前创建
clientRetryTopic=xx //客户端消息重试topic,提前创建
NAMESRV_ADDR的IP换成RocketMQ nameserver服务所在机器的IP

username=test
secretKey=testNAMESRV_ADDR=192.168.33.22:9876
eventNotifyRetryTopic=eventNotifyRetryTopic
clientRetryTopic=clientRetryTopicmetaAddr=172.16.10.160:25000

四、初始化操作

创建topic

mqadmin updatetopic -c {cluster} -t {topic} -n {namesrv}

上面配置的eventNotifyRetryTopic和clientRetryTopic也必须创建
实际执行如下:

mqadmin updatetopic -c DefaultCluster -t eventNotifyRetryTopic -n 192.168.33.22:9876
mqadmin updatetopic -c DefaultCluster -t clientRetryTopic -n 192.168.33.22:9876
mqadmin updatetopic -c DefaultCluster -t test-topic -n 192.168.33.22:9876

Configure Gateway Node List:

mqadmin updateKvConfig -s LMQ -k LMQ_CONNECT_NODES -v {ip1,ip2} -n {namesrv}

实际执行如下:

mqadmin updateKvConfig -s LMQ -k LMQ_CONNECT_NODES -v 172.16.10.160 -n 192.168.33.22:9876

Configure the first-level topic list

mqadmin updateKvConfig -s LMQ -k ALL_FIRST_TOPICS -v {topic1,topic2} -n {namesrv}

实际执行如下:

mqadmin updateKvConfig -s LMQ -k ALL_FIRST_TOPICS -v eventNotifyRetryTopic,clientRetryTopic,test-topic -n 192.168.33.22:9876

Configure a list of wildcard characters under each first-level topic

mqadmin updateKvConfig  -s LMQ -k {topic} -v {topic/+}  -n {namesrv}

实际执行如下:

mqadmin updateKvConfig  -s LMQ -k eventNotifyRetryTopic -v eventNotifyRetryTopic/+ -n 192.168.33.22:9876mqadmin updateKvConfig  -s LMQ -k clientRetryTopic -v clientRetryTopic/+ -n 192.168.33.22:9876mqadmin updateKvConfig  -s LMQ -k test-topic -v test-topic/+ -n 192.168.33.22:9876

五、启动

cd bin
sh meta.sh start
sh mqtt.sh start

启动日志在$HOME/logs/start_out.log
启动完后应该meta对应25000端口,mqtt对应1883端口

六、测试

使用rocketmq-mqtt工程中的mqtt-example做测试
在这里插入图片描述
将其中的一些IP、topic改为实际的
经测试,可以用mqtt做生产者,rocketmq做消费者
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac上快速将视频转化为GIF动图

1、找到需要转为GIF的视频,使用QuickTime Player打开,找到屏幕左上角的QuickTime Player菜单,点击【编辑】-【修剪】 2、视频下方会出现一个时间轴,拖动选取自己想要的时间段,修剪完成后保存 3、右键剪辑好的视频&…

MVC三层架构

1.MVC三层架构 MVC(Model-View-Controller)是一种常见的软件设计模式,用于组织和管理应用程序的代码和逻辑。它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器&#…

Clickhouse数据一致性和物化视图

Clickhouse 一、数据一致性的保证1.通过Group by对数据去重2.通过 FINAL 查询 二、物化视图1.物化视图与普通视图的区别2.优缺点3.基本语法 三、MaterializeMySQL引擎1.特点2.使用细则 四、常见问题排除分布式 DDL某数据节点的副本不执行数据副本表和数据不一致副本节点全量恢复…

C# Modbus通信从入门到精通(11)——Modbus RTU(调试软件Modbus Slave和Modbus Poll的使用)

前言 我们在开发Modbus程序的时候,会需要测试以下我们写的Modbus程序有没有问题,这时候就需要使用到Modbus Slave和Modbus Poll这两个软件,Modbus Slave是模拟Modbus从站,Modbus Poll是模拟Modbus从站主站的, 1、Modbus Slave 一般情况下我们开发的嗾使Modbus主站程序,…

Qt| There‘s no Qtversion assigned to project... 解决方法

问题: 原因:相同工程在不同电脑下qt配置不一致导致,该项目qt setting设置有误。 解决方法:右键项目打开属性 找到Qt Project Settings->Qt Installation,切换到当前电脑所使用的qt版本即可。

【ArcGIS Pro二次开发】(49):村规数据入库【福建省】

之前用Arcpy脚本工具做了一个村规数据入库和主要图纸生成工具。 在使用过程中,感觉对电脑环境比较高,换电脑用经常会一些莫名其妙的错误,bug修得很累。近来随着ArcGIS Pro SDK的熟悉,就有了移植的想法。 这里先把村规数据入库工…

微信小程序上线与发布图文步骤操作

1.上传代码 打开微信小程序,在微信开发者工具的工具栏中单击“上传”按钮,页面中弹出提示框,根据提示填写相应的信息,然后单击“上传”按钮,即可上传代码。 2.查看上传代码之后的版本 登录微信小程序管理后台&…

远程在Ubuntu20.04安装nvidia显卡驱动

第零步,找人装一个todesk。 在终端运行: ifconfig 记住ip地址,后面要用。 第一步,安装软件: sudo apt-get update sudo apt-get install g gcc make 第二步,下载显卡驱动: 官方驱动 | NVI…

Flink DataStream之输出数据到File中

新建类 package test01;import org.apache.flink.api.common.serialization.SimpleStringEncoder; import org.apache.flink.configuration.Configuration; import org.apache.flink.configuration.MemorySize; import org.apache.flink.connector.file.sink.FileSink; import…

2023年Q2京东厨卫大电市场分析报告(京东运营数据分析)

随着新产品推广和消费需求升级,今年Q2,京东厨卫大电市场的销售额突破百亿,从同环比来看均呈增长趋势。百亿市场中,油烟机、电热水器、燃气热水器这三大品类占据较大份额,这一期,我们重点来看一下京东厨卫大…

金蝶云星空大福利:奥威BI金蝶云星空SaaS版,开箱即用!

奥威BI金蝶云星空SaaS 版是一种基于金蝶云星空平台的BI大数据分析解决方案,主要特点是不用下载安装软件,开箱即用,普遍适用于零售、快消、餐饮、服务连锁、制造等行业。 不需准备环境、不需下载软件,简单四步,完成系统…

什么企业适合建设数据中台?

从历史脉络中,看到数据中台凸显价值,数据中台是大数据下一站。所有企业都适合建设数据中台吗?什么样应该建数据中台? 2018年我们在建数据中台前面临的窘境,通过了解我们建数据中台的背景,你也可以对照着看…