Kettle整合Rabbitmq消息队列

关于Rabbitmq消息队列知识可以参考我往期博客

一. 简介

Kettle没有直接的rabbitMQ步骤,但streaming类别下有MQTT步骤。rabbitMQ默认使用amqp协议,但也可以启用MQTT插件,来使用MQTT协议。
因此,我们使用Kettle通过MQTT协议步骤来生产和消费rabbitMQ。

二. 环境准备

我的测试环境为虚拟机的Docker

docker pull cyrilix/rabbitmq-mqtt
docker run -p 1883:1883 -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 8883:8883 -p 15672:15672 -p 25672:25672 -p 15675:15675  -d cyrilix/rabbitmq-mqtt 

abbitmq管理控制台的默认端口是15672,mqtt默认端口是1883,websocket默认端口是15675,所以启动容器的时候需要做端口映射,否则无法通过宿主机器访问

三. Rabbitmq配置

  • 进入rabbitMQ管理界面:
http://你的IP:15672
  • 默认登录用户guest/guest
  • 在exchange下创建一个“myTopic”topic

在这里插入图片描述
在这里插入图片描述

  • 给guest用户添加新的myTopic权限
    在这里插入图片描述

四. Kettle连接消息队列

4.1 配置MQTT生产者

  • 创建一个转换
  • 添加conntion,topic,user/pass等信息

注:端口一定注意,不再是5672而是1883,是MQTT协议端口。
在这里插入图片描述
在这里插入图片描述

4.2 配置消费者

  • 创建一个转换,选择MQTT消费者,配置topic,及处理数据转换
  • 创建message处理转换,使用Get records from stream节点获取消息

在这里插入图片描述

五. 测试

  • 开始消费者,kettle会持续监听
  • 运行生产者,产生消息
  • 此时消费者端接到数据并打印出来

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44726976/article/details/109285489