MQTT + Apache Kafka + InfluxDB + SQL = IoT 和谐

这篇文章介绍了如何使用 Apache Kafka 和 Lenses 构建端到端的数据管道,以提高生产力。主要内容如下:

  • IoT 与 Kafka 的结合:物联网设备的快速增长表明物联网是一项迅速成熟的技术,数据是数字经济的货币,而 Kafka 是处理数据的强大工具。
  • Lenses 介绍:Lenses 是基于 Apache Kafka 的数据流式平台,提供免费的开发者版本,可通过 SQL 代码构建端到端的数据管道,其 LSQL 引擎涵盖批处理和流处理能力。
  • 准备工作:确保准备好 Lenses 实例,需在本地安装 Docker,并按照步骤获取最新的 MQTT 源连接器 JAR 文件,启动 Docker 镜像以提供 Kafka 环境。
  • MQTT 集群与传感器输入数据:提供了一个模拟传感器发送数据的数据生成应用程序,该应用程序嵌入了一个轻量级的 MQTT 兼容代理。
  • 将数据从 MQTT 集群导入 Kafka:使用 Landoop 的 MQTT 源连接器,通过 KCQL 配置将传感器数据摄入到 Kafka 中,并在 Lenses Web UI 中查看数据流动。
  • 使用 LSQL 的 Kafka Streams 应用:创建处理数据流的 Kafka Streams 应用,计算平均温度和湿度值等,平台会自动运行和扩展应用。
  • InfluxDB 用于物联网时间序列数据:配置 Kafka Connect InfluxDB sink,将分析结果持久化到 InfluxDB 数据库中,并可通过查询命令查看数据。
  • 让 Web 应用接入实时 Kafka 数据:使用平台的 JavaScript 库,将实时数据接入 Web 应用,提供更丰富的用户体验。
  • 查看整个拓扑结构:在 http://localhost:3030/#topology 可以查看整个数据管道的拓扑结构,可视化数据流程。
  • 结论:Apache Kafka 生态系统在不断发展,通过少量代码和 Lenses 工具可以轻松构建数据管道,快速交付流处理解决方案。
阅读 6
0 条评论