引言
在时间序列数据库领域,InfluxDB凭借其高性能和易用性成为热门选择。本文将围绕InfluxDB安装包的获取方式展开,重点介绍Windows平台下的安装部署流程,包括官方下载渠道、PowerShell脚本使用、配置文件修改等关键步骤
官方下载渠道与版本选择
InfluxDB提供OSS(开源版)和Enterprise(企业版)两种版本,支持Windows、Linux和macOS三大平台。用户可通过InfluxData官网获取安装包:
- 版本选择:
- OSS版本:免费开源,适合大多数用户
- Enterprise版本:需企业授权,提供集群支持等高级功能
- 安装选择:
- Windows用户需选择
.zip压缩包或.exe安装程序
- Windows用户需选择
特点
InfluxDB 3 的一个关键特性是使用对象存储以 Apache Parquet 格式存储时间序列数据。您可以选择将这些文件存储在本地文件系统上,但我们建议使用对象存储以获得最佳的整体性能。InfluxDB 3 Core 原生支持 Amazon S3、Azure Blob Storage 和 Google Cloud Storage。您还可以使用许多提供 S3 兼容 API 的本地对象存储实现,例如 Minio。
准备安装
本文介绍时序数据库Influxdb3 core(开源版本)的安装和简单使用以及调优参数的介绍。
预期:
安装时序数据库Influxdb3 core
创建数据库 mydb
1、在InfluxDB官网中获取InfluxDB 3 Core 压缩包,并解压到目录(E:\db\influxdb3-core-3.8.0-windows_amd64)下。
2、使用 influxdb3 serve 命令来启动服务器,并可以通过参数指定对象存储类型和数据目录。以下命令需在解压目录下运行:
.\influxdb3.exe serve --object-store file --node-id mywindowsnode --data-dir "D:\influxdb3\data"
参数解释:
– object-store file: 指定使用本地文件系统作为对象存储。这是默认选项,但明确指出总是个好习惯。
– node-id <你的节点ID>: 为你的InfluxDB节点指定一个ID(单机随意)。
3、创建管理员令牌 (Admin Token):
在你启动InfluxDB 3服务器之后,你就可以创建管理员令牌了。管理员令牌拥有对InfluxDB 3实例所有操作的最高权限。
打开一个新的命令提示符 (CMD) 或 PowerShell 窗口(不要关闭正在运行服务器的那个窗口),运行一下命令:
cd E:\db\influxdb3-core-3.8.0-windows_amd64 .\influxdb3.exe create token --admin --host http://localhost:8181
–admin:表示你正在创建一个管理员级别的令牌;
–host http://localhost:8181:指定了InfluxDB服务器正在监听的地址和端口。如果你的服务器运行在其他地址或端口,请相应修改。
重点:复制该令牌,保存在一个安全的地方,此令牌只显示一次。
4、创建数据库
在安装目录下(E:\db\influxdb3-core-3.8.0-windows_amd64)运行以下命令:
.\influxdb3.exe create database <数据库名称> –token <第3步生成的令牌>
.\influxdb3.exe create database mydb --token YOUR_AUTH_TOKEN
上述命令中的mydb为创建的新的数据库的名称(更具实际需要修改数据库名称);
数据库超过5个报错:
Create command failed: server responded with error [422 Unprocessable Entity]: {"error":"Adding a new database would exceed limit of 5 databases"}
成功创建数据库返回:
Database "mydb" created successfully
5、写入数据到数据库
.\influxdb3.exe write --database mydb --token YOUR_AUTH_TOKEN --precision s 'home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000 home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000 home,room=Living\ Room temp=21.4,hum=35.9,co=0i 1641027600 home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600 home,room=Living\ Room temp=21.8,hum=36.0,co=0i 1641031200 home,room=Kitchen temp=22.7,hum=36.1,co=0i 1641031200 home,room=Living\ Room temp=22.2,hum=36.0,co=0i 1641034800 home,room=Kitchen temp=22.4,hum=36.0,co=0i 1641034800 home,room=Living\ Room temp=22.2,hum=35.9,co=0i 1641038400 home,room=Kitchen temp=22.5,hum=36.0,co=0i 1641038400 home,room=Living\ Room temp=22.4,hum=36.0,co=0i 1641042000 home,room=Kitchen temp=22.8,hum=36.5,co=1i 1641042000 home,room=Living\ Room temp=22.3,hum=36.1,co=0i 1641045600 home,room=Kitchen temp=22.8,hum=36.3,co=1i 1641045600 home,room=Living\ Room temp=22.3,hum=36.1,co=1i 1641049200 home,room=Kitchen temp=22.7,hum=36.2,co=3i 1641049200 home,room=Living\ Room temp=22.4,hum=36.0,co=4i 1641052800 home,room=Kitchen temp=22.4,hum=36.0,co=7i 1641052800 home,room=Living\ Room temp=22.6,hum=35.9,co=5i 1641056400 home,room=Kitchen temp=22.7,hum=36.0,co=9i 1641056400 home,room=Living\ Room temp=22.8,hum=36.2,co=9i 1641060000 home,room=Kitchen temp=23.3,hum=36.9,co=18i 1641060000 home,room=Living\ Room temp=22.5,hum=36.3,co=14i 1641063600 home,room=Kitchen temp=23.1,hum=36.6,co=22i 1641063600 home,room=Living\ Room temp=22.2,hum=36.4,co=17i 1641067200 home,room=Kitchen temp=22.7,hum=36.5,co=26i 1641067200'
成功过返回:
success
6、从数据库查询数据
.\influxdb3.exe query --database mydb "SELECT * FROM home ORDER BY time" --token apiv3__-IBBf3Ozo28aPdgWpfObb9zKRUsdXn6RW6qq_YD9XA8gOvWKAC2rEXbNjSmyKP3idhseBFWsW0zV3CiJ2yW6g
成功过返回:
+----+------+-------------+------+---------------------+ | co | hum | room | temp | time | +----+------+-------------+------+---------------------+ | 0 | 35.9 | Kitchen | 21.0 | 2022-01-01T08:00:00 | | 0 | 35.9 | Living Room | 21.1 | 2022-01-01T08:00:00 | | 0 | 36.2 | Kitchen | 23.0 | 2022-01-01T09:00:00 | | 0 | 35.9 | Living Room | 21.4 | 2022-01-01T09:00:00 | | 0 | 36.1 | Kitchen | 22.7 | 2022-01-01T10:00:00 | | 0 | 36.0 | Living Room | 21.8 | 2022-01-01T10:00:00 | | 0 | 36.0 | Kitchen | 22.4 | 2022-01-01T11:00:00 | | 0 | 36.0 | Living Room | 22.2 | 2022-01-01T11:00:00 | | 0 | 36.0 | Kitchen | 22.5 | 2022-01-01T12:00:00 | | 0 | 35.9 | Living Room | 22.2 | 2022-01-01T12:00:00 | | 1 | 36.5 | Kitchen | 22.8 | 2022-01-01T13:00:00 | | 0 | 36.0 | Living Room | 22.4 | 2022-01-01T13:00:00 | | 1 | 36.3 | Kitchen | 22.8 | 2022-01-01T14:00:00 | | 0 | 36.1 | Living Room | 22.3 | 2022-01-01T14:00:00 | | 3 | 36.2 | Kitchen | 22.7 | 2022-01-01T15:00:00 | | 1 | 36.1 | Living Room | 22.3 | 2022-01-01T15:00:00 | | 7 | 36.0 | Kitchen | 22.4 | 2022-01-01T16:00:00 | | 4 | 36.0 | Living Room | 22.4 | 2022-01-01T16:00:00 | | 9 | 36.0 | Kitchen | 22.7 | 2022-01-01T17:00:00 | | 5 | 35.9 | Living Room | 22.6 | 2022-01-01T17:00:00 | | 18 | 36.9 | Kitchen | 23.3 | 2022-01-01T18:00:00 | | 9 | 36.2 | Living Room | 22.8 | 2022-01-01T18:00:00 | | 22 | 36.6 | Kitchen | 23.1 | 2022-01-01T19:00:00 | | 14 | 36.3 | Living Room | 22.5 | 2022-01-01T19:00:00 | | 26 | 36.5 | Kitchen | 22.7 | 2022-01-01T20:00:00 | | 17 | 36.4 | Living Room | 22.2 | 2022-01-01T20:00:00 | +----+------+-------------+------+---------------------+
7、删除数据库
.\influxdb3.exe delete database mydb --token YOUR_AUTH_TOKEN
提示
Are you sure you want to delete "mydb"? Enter 'yes' to confirm
输入
yes
回车
数据库删除成功返回:
Database "mydb" deleted successfully
结语:
将以上命令中的YOUR_AUTH_TOKEN替换为第3步中生成的Admin Token;
