HiveMQ
大约 2 分钟
HiveMQ
1. 引言
HiveMQ 是一款专为物联网设计的高性能 MQTT 消息代理,支持 MQTT 3.1.1 和 5.0 协议。它能处理海量设备并发连接,提供毫秒级低延迟通信。核心功能包括 TLS 加密安全传输、集群高可用部署、Kafka/数据库无缝集成。适用于车联网、工业4.0等需要可靠实时通信的场景,社区版免费,企业版支持亿级设备扩展。
IoTDB 提供的 hivemq-iotdb-extension 插件,可实现将发布到 HiveMQ 的消息数据(包含时间戳、主题和内容)实时写入 IoTDB 数据库。支持自动创建 IoTDB 数据库和表结构、异步批量写入机制、自定义字段映射、 异常处理与日志记录等核心特性。
2. 使用步骤
2.1 环境要求
| 软件名称 | 版本要求 | 安装说明 |
|---|---|---|
| IoTDB | >=2.0.5.1 | 快速上手 |
| HiveMQ | >4.4 | 官方文档 |
注意:JDK 版本需与 HiveMQ 版本适配
2.2 配置过程
联系天谋工作人员获取
hivemq-iotdb-extension安装包,并解压缩至 HiveMQ 的 extensions 目录。修改配置文件
/HiveMQ_HOME/extensions/hive-iotdb-extension/conf.properties
# IoTDB连接配置
iotdb.urls=127.0.0.1:6667
iotdb.username=root
iotdb.password=root
iotdb.sessionPool.maxSize=50
# 数据结构配置
iotdb.database=hivemq
iotdb.table=hive_mqtt
iotdb.tagName=topic_name # 存储MQTT主题的列名
iotdb.fieldName=payload # 存储消息内容的列名
iotdb.fieldType=string # 数据类型
# 批量处理配置
default.batch.queue.size=1000
default.flush.interval.ms=500
# MQTT认证
mqtt.username=admin
mqtt.password=hivemq- 启动 HiveMQ
# Windows
.\bin\run.bat
# Linux/macOS
./bin/run.sh- 发布消息数据到 HiveMQ。
2.3 验证测试
通过 IoTDB CLI查询数据,验证数据是否已成功写入。
IoTDB> use hivemq
Msg: The statement is executed successfully.
IoTDB:hivemq> show tables
+---------+-------+
|TableName|TTL(ms)|
+---------+-------+
|hive_mqtt| INF|
+---------+-------+
Total line number = 1
It costs 0.006s
IoTDB:hivemq> desc hive_mqtt
+----------+---------+--------+
|ColumnName| DataType|Category|
+----------+---------+--------+
| time|TIMESTAMP| TIME|
|topic_name| STRING| TAG|
| payload| DOUBLE| FIELD|
+----------+---------+--------+
Total line number = 3
It costs 0.005s
IoTDB:hivemq> select * from hive_mqtt
+-----------------------------+-----------+-------+
| time| topic_name|payload|
+-----------------------------+-----------+-------+
|2025-08-14T11:48:35.889+08:00|temperature| 28.5|
|2025-08-14T11:48:45.972+08:00| humidity| 56.0|
+-----------------------------+-----------+-------+
Total line number = 2
It costs 0.040s