Apache IoTDB 时序数据库介绍与单机版安装部署指南
Apache IoTDB 是一款低成本高性能的物联网原生时序数据库。文章介绍了其核心组件如 TsFile 存储格式及 AINode 引擎,详细阐述了基于 Java 环境的单机版部署流程,包括 Linux/Windows 环境配置、防火墙设置、参数调整及节点启动验证。文档还总结了常见部署问题解决方案及产品优势,适用于工业物联网、车联网等海量时序数据管理场景。

Apache IoTDB 是一款低成本高性能的物联网原生时序数据库。文章介绍了其核心组件如 TsFile 存储格式及 AINode 引擎,详细阐述了基于 Java 环境的单机版部署流程,包括 Linux/Windows 环境配置、防火墙设置、参数调整及节点启动验证。文档还总结了常见部署问题解决方案及产品优势,适用于工业物联网、车联网等海量时序数据管理场景。


Apache IoTDB 是一款低成本、高性能的物联网原生时序数据库。它可以解决企业组建物联网大数据平台管理时序数据时所遇到的应用场景复杂、数据体量大、采样频率高、数据乱序多、数据处理耗时长、分析需求多样、存储与运维成本高等多种问题。
IoTDB 系统由多个组件组成,能够高效管理和分析物联网产生的海量时序数据。

IoTDB(物联网数据库)系统是一个专门为物联网场景设计的分布式时序数据库,由多个核心组件协同工作,能够高效管理和分析物联网设备产生的海量时序数据。其主要组件包括:
- 存储引擎层
- 采用分层存储架构,包含内存缓冲区(WAL 日志)、本地磁盘存储和云存储
- 支持 TSFile 专用文件格式,针对时间序列数据优化存储结构
- 实现多级缓存机制,包括热点数据缓存和预读取优化
- 查询处理层
- 提供丰富的查询接口:SQL 查询、原生 API、RESTful 接口
- 内置多种时序数据处理算法:降采样、插值、异常检测等
- 支持分布式并行查询计算,可跨节点执行复杂分析任务
- 元数据管理层
- 采用树形结构组织设备元数据,支持设备分组和层级管理
- 实现动态元数据更新机制,适应物联网设备的动态变化
- 提供元数据缓存和索引,加速元数据访问
典型应用场景:
性能优势:
系统通过上述组件的协同工作,实现了对物联网时序数据的高效采集、存储、查询和分析全生命周期管理。

三横两纵架构体系,该架构体系是一种广泛应用于信息系统和政务数字化建设的顶层设计框架。该体系结构由三个横向层次和两个纵向支撑组成,形成了完整的系统架构。
数据接入层 JDBC/TSFile/MQTT 协议适配边缘计算引擎存储计算层多模存储引擎 HTAP 计算框架服务接口层 SQL 接口 REST API GraphQL 接口运维管理层统一管控平台智能监控系统
横向层次架构:
基础设施层(IaaS 层)
数据资源层(DaaS 层)
应用服务层(SaaS 层)
纵向支撑体系:
标准规范体系
安全保障体系
核心优势:
该架构的优势在于实现了资源集约化、服务标准化和管理规范化,可以有效避免重复建设、信息孤岛等问题。
运行环境:
数据库:
# 查看防火墙
systemctl status firewalld
# 关闭防火墙
systemctl stop firewalld
# 永久关闭防火墙
systemctl disable firewalld
如果命令有输出,则表示该端口已被占用。检查方式如下:
lsof -i:6667 或 netstat -tunp | grep 6667
lsof -i:10710 或 netstat -tunp | grep 10710
lsof -i:10720 或 netstat -tunp | grep 10720
echo "vm.swappiness = 0" >> /etc/sysctl.conf
# 一起执行 swapoff -a 和 swapon -a 命令是为了将 swap 里的数据转储回内存,并清空 swap 里的数据。
# 不可省略 swappiness 设置而只执行 swapoff -a;否则,重启后 swap 会再次自动打开,使得操作失效。
swapoff -a && swapon -a
# 在不重启的情况下使配置生效。
sysctl -p
# swap 的已使用内存变为 0
free -m
# 查看当前限制
ulimit -n
# 临时修改
ulimit -n 65535
# 永久修改
echo "* soft nofile 65535" >> /etc/security/limits.conf
echo "* hard nofile 65535" >> /etc/security/limits.conf
# 退出当前终端会话后查看,预期显示 65535
ulimit -n
请参考 Apache IoTDB 下载地址。

echo "192.168.1.3 iotdb-1" >> /etc/hosts
部分参数首次启动后不能修改,请参考下方的【3.3 参数配置】章节进行设置。
无论是在 linux 还是 windows 中,请确保 IoTDB 的安装路径中不含空格和中文,避免软件运行异常。
安装部署 IoTDB 时需要保持使用同一个用户进行操作,您可以:
unzip apache-iotdb-{version}-all-bin.zip
cd apache-iotdb-{version}-all-bin
(1)环境脚本配置
./conf/confignode-env.sh(./conf/confignode-env.bat)配置
| 配置项 | 说明 | 默认值 | 推荐值 | 备注 |
|---|---|---|---|---|
| MEMORY_SIZE | IoTDB ConfigNode 节点可以使用的内存总量 | 空 | 可按需填写 | 填写后系统会根据填写的数值来分配内存 重启服务生效 |
./conf/datanode-env.sh(./conf/datanode-env.bat)配置
| 配置项 | 说明 | 默认值 | 推荐值 | 备注 |
|---|---|---|---|---|
| MEMORY_SIZE | IoTDB DataNode 节点可以使用的内存总量 | 空 | 可按需填写 | 填写后系统会根据填写的数值来分配内存 重启服务生效 |
(2)系统配置
./conf/iotdb-system.properties 文件
| 配置项 | 说明 | 默认值 | 推荐值 | 备注 |
|---|---|---|---|---|
| cluster_name | 集群名称 | defaultCluster | 可根据需要设置集群名称 | 首次启动后不可修改 |
| schema_replication_factor | 元数据副本数,单机版此处设置为 1 | 1 | 1 | 默认 1,首次启动后不可修改 |
| data_replication_factor | 数据副本数,单机版此处设置为 1 | 1 | 1 | 默认 1,首次启动后不可修改 |
(3)ConfigNode 配置
打开 ConfigNode 配置文件(./conf/iotdb-system.properties 文件),设置以下参数:
| 配置项 | 说明 | 默认值 | 推荐值 | 备注 |
|---|---|---|---|---|
| cn_internal_address | ConfigNode 在集群内部通讯使用的地址 | 127.0.0.1 | 所在服务器的 IPV4 地址或 hostname,推荐使用 hostname | 首次启动后不能修改 |
| cn_internal_port | ConfigNode 在集群内部通讯使用的端口 | 10710 | 10710 | 首次启动后不能修改 |
| cn_consensus_port | ConfigNode 副本组共识协议通信使用的端口 | 10720 | 10720 | 首次启动后不能修改 |
| cn_seed_config_node | 节点注册加入集群时连接的 ConfigNode 的地址,cn_internal_address:cn_internal_port | 127.0.0.1:10710 | cn_internal_address:cn_internal_port | 首次启动后不能修改 |
进入 iotdb 的 sbin 目录下,启动 confignode
./start-confignode.sh -d #'-d'参数将在后台进行启动
进入 iotdb 的 sbin 目录下,启动 datanode:
cd sbin
./start-datanode.sh -d #-d 参数将在后台进行启动
可直接执行 ./sbin 目录下的 Cli 启动脚本:
./start-cli.sh -h ip(本机 ip 或域名) -p 端口号 (6667)
成功启动后,出现如下界面显示 IoTDB 安装成功。

出现安装成功界面后,使用 show cluster 命令查看服务运行状态
当看到 status 都是 running 表示服务启动成功

注意:出现 ACTIVATED(W) 为被动激活,表示此 ConfigNode 没有 license 文件(或没有签发时间戳最新的 license 文件)。此时建议检查 license 文件是否已放入 license 文件夹,没有请放入 license 文件,若已存在 license 文件,可能是此节点 license 文件与其他节点信息不一致导致,请联系技术支持人员重新申请
Confignode 节点启动失败
1: 请查看启动日志,检查是否修改了某些首次启动后不可改的参数。 2: 请查看启动日志,检查是否出现其他异常。日志中若存在异常现象,请联系技术支持人员咨询解决方案。 3: 如果是首次部署或者数据可删除,也可按下述步骤清理环境,重新部署后,再次启动。

近年来,随着科技的不断进步,航空航天领域正进一步加快数字化与智能化建设。先进的数据采集和处理技术逐渐成为提升飞行安全、优化系统性能的重要手段。通过对飞机、火箭、卫星等设备在设计、制造、试飞、运行等全流程中产生的海量时序数据进行高效管理,企业能实现对飞行任务中关键系统的精准监测与分析,通过遥测数据实时回传、试飞数据快速导入,实现航空信息的监测和设计改进,确保飞行任务的安全可靠执行。
IoTDB 凭借其国产自研的高效低流量数据同步、离线数据迁移、丰富的部署选择和低资源占用等特点,为行业的数据管理和业务扩展提供了数据基础,为航空航天领域的技术创新和持续发展提供有力支撑。

科技进步驱动航空航天数字化智能化转型,企业通过全周期数据管理整合实时遥测与试飞数据,实现关键系统精准测,推动设计优化与安全管控。IoTDB 以国产自研技术优势,通过高效低流量同步、离线迁移、灵活部署及低资源占用特性,为行业构建可靠数据底座,支撑技术创新与可持续发展。

Apache IoTDB 广泛应用于工业物联网、车联网、智能家居等领域,能够有效解决海量时序数据的存储和分析挑战。本文详细讲述了单机部署的全流程。建议开发者根据业务规模选择合适部署方式,并充分利用其内置的监控工具进行性能调优。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online