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

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

引言

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

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

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

一、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 下载到专用目录后,切换到该目录并解压安装包

unzip apache-iotdb-<version>-ainode-bin.zip 

3.2 参数调整

可以通过修改 conf/iotdb-ainode.properties 文件中的参数来调整 AINode 配置。以下参数支持持久化修改

名称描述类型默认值
cluster_nameAINode要加入集群的标识stringdefaultCluster
ain_seed_config_nodeAINode启动时注册的ConfigNode地址String127.0.0.1:10710
ain_cluster_ingress_addressAINode拉取数据的DataNode的rpc地址String127.0.0.1
ain_cluster_ingress_portAINode拉取数据的DataNode的rpc端口Integer6667
ain_cluster_ingress_usernameAINode拉取数据的DataNode的客户端用户名Stringroot
ain_cluster_ingress_passwordAINode拉取数据的DataNode的客户端密码Stringroot
ain_cluster_ingress_time_zoneAINode拉取数据的DataNode的客户端时区StringUTC+8
ain_inference_rpc_addressAINode提供服务与通信的地址String127.0.0.1
ain_inference_rpc_portAINode提供服务与通信的端口String10810
ain_system_dirAINode元数据存储路径Stringdata/AINode/system
ain_models_dirAINode存储模型文件的路径Stringdata/AINode/models
ain_thrift_compression_enabledAINode是否启用thrift压缩机制Boolean0

3.3 加载模型权重

联系天谋团队获取模型权重文件,并将其存放至/IOTDB_AINODE_HOME/data/ainode/models/weights/目录中

3.4 启动 AINode

完成 Seed-ConfigNode 部署后,您可通过添加 AINode 节点实现模型注册与推理功能。配置 IoTDB 集群信息后,运行相应指令即可启动 AINode 并加入集群

注:联网环境启动

启动命令

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

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

  1. Linux 和 MacOS 系统
nohupbash sbin/start-ainode.sh > myout.file 2>&1&
  1. Windows 系统
nohupbash sbin\start-ainode.bat > myout.file 2>&1&

3.5 检测 AINode 节点状态

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

在这里插入图片描述

3.6 停止 AINode

停止命令

  1. Linux / MacOS
bash sbin/stop-ainode.sh 
  1. Windows
 sbin\stop-ainode.bat 

停止 AINode 后,在集群中看到 AINode 节点,其运行状态为 UNKNOWN 表示该节点已经停止,没办法进行使用了

在这里插入图片描述

四、避坑指南

以下是之前博主安装时踩的一些坑,如有相似问题可以查询此处解决

4.1 启动AINode时出现找不到venv模块的报错

问题处理:在本地安装 venv 模块,以 ubuntu 为例,可以通过运行以下命令来安装 python 自带的 venv 模块。或者从 python 官网安装一个自带 venv 的 python 版本

apt-getinstall python3.10-venv 

4.2 pip版本低

windows下出现类似“error:Microsoft Visual C++ 14.0 or greater is required…”的报错,版本低导致

问题处理

./python -m pip install --upgrade pip ./python -m pip install --upgrade setuptools 

五、结语

Apache IoTDB 时序数据库中 AINode 工具采用分布式架构实现高可用性,支持水平扩展;内置智能数据处理引擎,可自动优化查询性能;提供实时流式分析能力,低延迟处理时序数据;兼容标准SQL语法,降低学习成本;支持多协议接入,便于与各类IoT设备集成。这些特性使其成为工业物联网场景下的高效时序数据库解决方案。本文详细讲述了AINode 的部署,后续博主会详细的介绍数据库管理以及具体的实操SQL语句等~

Read more

前端核心知识:Vue 3 编程的 10 个实用技巧

前端核心知识:Vue 3 编程的 10 个实用技巧

文章目录 * 1. **使用 `ref` 和 `reactive` 管理响应式数据** * 原理解析 * 代码示例 * 注意事项 * 2. **组合式 API(Composition API)** * 原理解析 * 代码示例 * 优势 * 3. **使用 `watch` 和 `watchEffect` 监听数据变化** * 原理解析 * 代码示例 * 注意事项 * 4. **使用 `provide` 和 `inject` 实现跨组件通信** * 原理解析 * 代码示例 * 优势 * 5. **使用 `Teleport` 实现组件挂载到任意位置** * 原理解析 * 代码示例 * 优势 * 6. **使用 `Suspense` 处理异步组件加载** * 原理解析 * 代码示例 * 优势

阿里云操作系统控制台评测:国产AI+运维 一站式运维管理平台

阿里云操作系统控制台评测:国产AI+运维 一站式运维管理平台

阿里云操作系统控制台评测:国产AI+运维 一站式运维管理平台 引言 随着云计算技术的飞速发展,企业在云端的运维管理面临更高的要求。阿里云操作系统控制台作为一款集运维管理、智能助手和系统诊断等多功能于一体的工具,正逐步成为企业高效管理云资源的利器。本文将对阿里云操作系统控制台进行详细评测,展示其强大功能和实际使用体验。 阿里云操作系统控制台评测:国产AI+运维一站式ECS服务器运 文章配套视频👆 文章目录 * 阿里云操作系统控制台评测:国产AI+运维 一站式运维管理平台 * 引言 * 需求介绍 * 操作系统使用实例 * 1. 登录与服务开通 * 2. 系统管理与实例纳管 * 3. 组件管理与扩展功能 * 4. 系统诊断与问题排查 * 5. 实时热点分析与性能优化 * 获得的帮助与提升 * 建议 需求介绍 现代企业在云计算环境中的运维管理复杂多变,尤其是在保障系统稳定性和效率的同时,如何快速定位问题并提供解决方案显得尤为重要。阿里云操作系统控制台通过集成的运维管理、智能

WebGIS开发实战:WKT转GeoJSON的多种技巧与Leaflet加载应用详解

WebGIS开发实战:WKT转GeoJSON的多种技巧与Leaflet加载应用详解

目录 前言 一、WKT后台转换实现 1、基于PostGIS实现 2、GeoTools实现 二、wellknown.js转换 1、wellknown.js是什么? 2、wellknown.js的方法 三、在Leaflet.js中集成wellknow.js 1、资源引入 2、将wkt转为geojson 四、总结 前言         在当今数字化浪潮中,地理信息系统(GIS)技术正以前所未有的速度融入我们的生活与工作。从城市规划到环境监测,从物流配送到旅游出行,地理空间数据的价值日益凸显。而 WebGIS,作为 GIS 技术与 Web 技术的深度融合,更是为地理信息的共享与交互开辟了广阔天地。它让地理数据能够通过网络在各种终端设备上轻松呈现,极大地拓展了 GIS 的应用场景和受众群体。然而,在 WebGIS

大模型学习路线图:从入门到精通,7阶段带你掌握AI核心技术!_大模型学习路线(2026最新)

大模型学习路线图:从入门到精通,7阶段带你掌握AI核心技术!_大模型学习路线(2026最新)

本文提供了一份详尽的大模型学习路线图,分为七个阶段:基础知识准备、机器学习基础、深度学习入门、自然语言处理基础、大规模语言模型、大规模模型的应用、持续学习与进阶。涵盖数学与编程基础、经典机器学习算法、深度学习框架、自然语言处理技术、预训练模型及其应用等核心内容,旨在帮助读者系统掌握大规模预训练模型的理论与实践,并提供了丰富的学习资料与资源推荐。 大模型学习路线图 第一阶段:基础知识准备 在这个阶段,您需要打下坚实的数学基础和编程基础,这是学习任何机器学习和深度学习技术所必需的。 1. 数学基础 * 线性代数:矩阵运算、向量空间、特征值与特征向量等。 * 概率统计:随机变量、概率分布、贝叶斯定理等。 * 微积分:梯度、偏导数、积分等。 学习资料 * 书籍: * Gilbert Strang,《线性代数及其应用》 * Sheldon Ross,《概率论与随机过程》 * 在线课程: * Khan Academy 的线性代数和微积分课程 * Coursera 上的