Kafka-MQTT 桥接实例

参考资料

下面是个Mosca实例,给Kafka暴露MQTT接口。

快速开始

1) 原样尝试示例,启动一个Kafka服务器:

docker run -d --env ADVERTISED_HOST=kafka01 --hostname=kafka01 --env ADVERTISED_PORT=9092 --name=kafka01 spotify/kafka

2) 一旦Kafka运行起来,使用控制台生产者方式创建一些预期主题

for topic in spiddal-ctd \
              spiddal-fluorometer \
              airmar-rinville-1 \
              ais-rinville-1-geojson \
              spiddal-hydrophone
   do docker exec -i -t kafka01 /bin/bash -c \
           "date | /opt/kafka_*/bin/kafka-console-producer.sh \
                     --broker-list kafka01:9092 --topic $topic"
 done

3) 现在启动Kafka mqtt桥接,链接至Kafka实例

docker run -d -p 2298:80 --link kafka01:kafka01 --link kafka01:kafka02 --link kafka01:kafka03 fullergalway/kafkamqtt

4) 打开浏览器,访问http://server:2298,例如:http://localhost:2298
5) 最后,通过重复以上2个步骤发布一些数据至kakfa主题上,会观察到数据出现在浏览器中

构建

在开始构建之前,可以修改auth.json和·index.html`引用尊敬的主题

docker build -f examples/kafka/Dockerfile -t kafkamqtt .

运行

为运行链接至自己Kafkamosca mqtt服务器,当启动docker容器时,提供IP地址(需要添加所有3个主机(kafka01, kafka02, kafka03)),如果集群中少于3个节点,请重复IP地址

docker run -d --name=kafkamqtt -p 2298:80 --add-host="kafka01:172.17.1.86" --add-host="kafka02:172.17.1.87" --add-host="kafka03:172.17.1.88" kafkamqtt

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐