引言
Apache IoTDB 设计之初就专为物联网(IoT)场景而生,旨在提供一个集高性能数据写入、海量数据存储、低延迟分析查询于一体的一站式解决方案。
Apache IoTDB 时序数据库【系列篇章】:
一、IoTDB------AINode介绍
AINode 是 IoTDB 在 ConfigNode、DataNode 后提供的第三种内生节点,通过与 IoTDB 集群的 DataNode、ConfigNode 的交互,扩展了对时间序列进行机器学习分析的能力,支持从外部引入已有机器学习模型进行注册,并使用注册的模型在指定时序数据上通过简单 SQL 语句完成时序分析任务的过程,将模型的创建、管理及推理融合在数据库引擎中

AINode 是 IoTDB 集群外的额外套件,独立安装包
两种部署模式
- 单机模式:
- 集群模式
二、安装准备
2.1 安装包下载
AINode 安装包:apache-iotdb-2.0.5-ainode-bin.zip(点击下载)

安装包解压后目录
目录 | 类型 | 说明 |
---|---|---|
lib | 文件夹 | AINode 的 python 包文件 |
sbin | 文件夹 | AINode的运行脚本(启动/移除/停止) |
conf | 文件夹 | 配置文件及运行环境设置脚本 |
LICENSE | 文件 | 证书 |
NOTICE | 文件 | 提示 |
README_ZH.md | 文件 | Markdown格式中文说明 |
README.md | 文件 | 使用说明 |
2.2 环境准备
IoTDB 版本 :>= V 2.0.5.1
Python 版本 :3.9 ~3.12
工具: pip 和 venv
三、AINode 安装部署
3.1 安装
将 AINode 下载到专用目录后,切换到该目录并解压安装包
bash
unzip apache-iotdb-<version>-ainode-bin.zip
3.2 参数调整
可以通过修改 conf/iotdb-ainode.properties 文件中的参数来调整 AINode 配置。以下参数支持持久化修改
名称 | 描述 | 类型 | 默认值 |
---|---|---|---|
cluster_name | AINode要加入集群的标识 | string | defaultCluster |
ain_seed_config_node | AINode启动时注册的ConfigNode地址 | String | 127.0.0.1:10710 |
ain_cluster_ingress_address | AINode拉取数据的DataNode的rpc地址 | String | 127.0.0.1 |
ain_cluster_ingress_port | AINode拉取数据的DataNode的rpc端口 | Integer | 6667 |
ain_cluster_ingress_username | AINode拉取数据的DataNode的客户端用户名 | String | root |
ain_cluster_ingress_password | AINode拉取数据的DataNode的客户端密码 | String | root |
ain_cluster_ingress_time_zone | AINode拉取数据的DataNode的客户端时区 | String | UTC+8 |
ain_inference_rpc_address | AINode提供服务与通信的地址 | String | 127.0.0.1 |
ain_inference_rpc_port | AINode提供服务与通信的端口 | String | 10810 |
ain_system_dir | AINode元数据存储路径 | String | data/AINode/system |
ain_models_dir | AINode存储模型文件的路径 | String | data/AINode/models |
ain_thrift_compression_enabled | AINode是否启用thrift压缩机制 | Boolean | 0 |
3.3 加载模型权重
联系天谋团队获取模型权重文件,并将其存放至/IOTDB_AINODE_HOME/data/ainode/models/weights/目录中
3.4 启动 AINode
完成 Seed-ConfigNode 部署后,您可通过添加 AINode 节点实现模型注册与推理功能。配置 IoTDB 集群信息后,运行相应指令即可启动 AINode 并加入集群
注:联网环境启动
启动命令
- Linux 和 MacOS 系统
bash
bash sbin/start-ainode.sh
- Windows 系统
bash
sbin\start-ainode.bat
后台启动命令(长期推荐)
- Linux 和 MacOS 系统
bash
nohup bash sbin/start-ainode.sh > myout.file 2>& 1 &
- Windows 系统
bash
nohup bash sbin\start-ainode.bat > myout.file 2>& 1 &
3.5 检测 AINode 节点状态
AINode 启动时会自动加入 IoTDB 集群。启动后,您可以通过执行 SQL 命令进行查询验证。当集群中显示该 AINode 节点状态为"Running"时,即表示节点已成功加入

3.6 停止 AINode
停止命令
- Linux / MacOS
bash
bash sbin/stop-ainode.sh
- Windows
bash
sbin\stop-ainode.bat
停止 AINode 后,在集群中看到 AINode 节点,其运行状态为 UNKNOWN 表示该节点已经停止,没办法进行使用了

四、避坑指南
以下是之前博主安装时踩的一些坑,如有相似问题可以查询此处解决
4.1 启动AINode时出现找不到venv模块的报错
问题处理:在本地安装 venv 模块,以 ubuntu 为例,可以通过运行以下命令来安装 python 自带的 venv 模块。或者从 python 官网安装一个自带 venv 的 python 版本
bash
apt-get install python3.10-venv
4.2 pip版本低
windows下出现类似"error:Microsoft Visual C++ 14.0 or greater is required..."的报错,版本低导致
问题处理:
bash
./python -m pip install --upgrade pip
./python -m pip install --upgrade setuptools
五、结语
Apache IoTDB 时序数据库中 AINode 工具采用分布式架构实现高可用性,支持水平扩展;内置智能数据处理引擎,可自动优化查询性能;提供实时流式分析能力,低延迟处理时序数据;兼容标准SQL语法,降低学习成本;支持多协议接入,便于与各类IoT设备集成。这些特性使其成为工业物联网场景下的高效时序数据库解决方案。本文详细讲述了AINode 的部署 ,后续博主会详细的介绍数据库管理 以及具体的实操SQL语句等~