Apache IoTDB(5):深度解析时序数据库 IoTDB 在 AINode 模式单机和集群的部署与实践

引言

Apache IoTDB 设计之初就专为物联网(IoT)场景而生,旨在提供一个集高性能数据写入、海量数据存储、低延迟分析查询于一体的一站式解决方案。

Apache IoTDB 时序数据库【系列篇章】

No. 文章地址(点击进入)
1 Apache IoTDB(1):时序数据库介绍与单机版安装部署指南
2 Apache IoTDB(2):时序数据库 IoTDB 集群安装部署的技术优势与适用场景分析
3 Apache IoTDB(3):时序数据库 IoTDB Docker部署从单机到集群的全场景部署与实践指南
4 Apache IoTDB(4):深度解析时序数据库 IoTDB 在Kubernetes 集群中的部署与实践指南

一、IoTDB------AINode介绍

AINode 是 IoTDB 在 ConfigNode、DataNode 后提供的第三种内生节点,通过与 IoTDB 集群的 DataNode、ConfigNode 的交互,扩展了对时间序列进行机器学习分析的能力,支持从外部引入已有机器学习模型进行注册,并使用注册的模型在指定时序数据上通过简单 SQL 语句完成时序分析任务的过程,将模型的创建、管理及推理融合在数据库引擎中

AINode 是 IoTDB 集群外的额外套件,独立安装包

两种部署模式

  1. 单机模式:
  2. 集群模式

二、安装准备

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 并加入集群

注:联网环境启动

启动命令

  1. Linux 和 MacOS 系统
bash 复制代码
  bash sbin/start-ainode.sh  
  1. Windows 系统
bash 复制代码
  sbin\start-ainode.bat  

后台启动命令(长期推荐)

  1. Linux 和 MacOS 系统
bash 复制代码
  nohup bash sbin/start-ainode.sh  > myout.file 2>& 1 &
  1. Windows 系统
bash 复制代码
  nohup bash sbin\start-ainode.bat  > myout.file 2>& 1 &

3.5 检测 AINode 节点状态

AINode 启动时会自动加入 IoTDB 集群。启动后,您可以通过执行 SQL 命令进行查询验证。当集群中显示该 AINode 节点状态为"Running"时,即表示节点已成功加入

3.6 停止 AINode

停止命令

  1. Linux / MacOS
bash 复制代码
  bash sbin/stop-ainode.sh
  1. 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语句等~

相关推荐
科技小花1 天前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸1 天前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain1 天前
linux个人心得22 (mysql)
数据库·mysql
阿里小阿希1 天前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql
荒川之神1 天前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
做个文艺程序员1 天前
MySQL安全加固十大硬核操作
数据库·mysql·安全
不吃香菜学java1 天前
Redis简单应用
数据库·spring boot·tomcat·maven
一个天蝎座 白勺 程序猿1 天前
Apache IoTDB(15):IoTDB查询写回(INTO子句)深度解析——从语法到实战的ETL全链路指南
数据库·apache·etl·iotdb
不知名的老吴1 天前
Redis的延迟瓶颈:TCP栈开销无法避免
数据库·redis·缓存
YOU OU1 天前
三大范式和E-R图
数据库