Apache IoTDB 在 Kubernetes 集群中的部署与实践指南
一、Apache IoTDB 产品解析
1.1 核心特性
- 极致时序数据处理:支持每秒百万级数据点写入,通过列式存储和时间分区技术实现 5-10 倍压缩率。
- 灵活查询能力:提供类 SQL 语法,支持时间窗口分析、降采样及多设备数据对齐。
- 边缘 - 云端协同:轻量级设计支持边缘设备部署,同时可通过分布式集群实现水平扩展。
- 生态集成:内置 MQTT 服务器、支持 Kafka/Spark 集成,提供 Java/Python 客户端。
1.2 架构设计
- 存储组(Storage Group):逻辑隔离单元,类似传统数据库的'库'概念。
- 设备层(Device):对应传统数据库的'表',存储具体传感器数据。
- 时间序列(Timeseries):最小数据单元,支持 FLOAT、TEXT、VECTOR 等数据类型。
二、版本要求
需要在本地有一个可用的 Kubernetes 集群,作为部署 IoTDB 集群的基础。
| 组件 | 版本要求 |
|---|---|
| Kubernetes | 1.24 以上 |
| IoTDB | v1.3.3.2 以上 |
| 存储类 | local-storage |
| 节点配置 | 4 核 8G 起 |
三、Kubernetes 环境准备
3.1 创建命名空间
注意:在执行命名空间创建操作之前,需验证所指定的命名空间名称在 Kubernetes 集群中尚未被使用。如果命名空间已存在,创建命令将无法执行。
kubectl create ns iotdb-ns
kubectl get ns
3.2 创建 PV 配置文件
PV 用于持久化存储 IoTDB 的 ConfigNode 和 DataNode 的数据,集群中有几个节点就要创建几个 PV。
注意:1 个 ConfigNode 和 1 个 DataNode 也算 2 个节点,要 2 个 PV。
博主这边以 3ConfigNode、3DataNode 为例:
- 创建 pv.yaml 文件,并复制六份,分别重命名为 pv01.yaml 到 pv06.yaml。
新建文件夹放 yaml 文件
创建 pv.yaml 文件命令:
touch pv.yaml
- 修改每个文件中的 name 和 path 以确保一致性。 举例 pv.yaml:
apiVersion: v1
kind: PersistentVolume


