设置 InfluxDB 3 Core
前提条件
要开始,您需要
- InfluxDB 3 Core: 在您的系统上安装并验证最新版本。
- 如果您想持久化数据,请访问以下任一选项
- 您可以在本地磁盘上找到一个目录,您可以在其中持久化数据(本指南中的示例使用此目录)
- S3 兼容的对象存储和凭证
快速入门模式(开发)
对于开发、测试和家庭使用,您可以在不带任何参数的情况下启动 InfluxDB 3 Core。系统会根据您系统的 [hostname] 自动生成所需的配置值。
influxdb3当您在不带参数的情况下运行 influxdb3 时,以下值将被自动生成
node-id:{hostname}-node(如果 [hostname] 不可用,则为primary-node)object-store:filedata-dir:~/.influxdb
系统会显示警告消息,显示自动生成的标识符
Using auto-generated node id: mylaptop-node. For production deployments, explicitly set --node-id何时使用快速入门模式
快速入门模式专为开发、测试和家庭实验室环境而设计,在这些环境中,简单性比显式配置更重要。
对于生产部署,请使用 influxdb3 serve 命令 的显式配置值,如下面的“启动 InfluxDB”部分所示。
配置优先级:环境变量会覆盖自动生成的默认值。例如,如果您设置 INFLUXDB3_NODE_IDENTIFIER_PREFIX=my-node,系统将使用 my-node 而不是生成 {hostname}-node。
启动 InfluxDB
使用 influxdb3 serve 命令 启动 InfluxDB 3 Core。提供以下内容
--node-id:一个字符串标识符,用于区分单个服务器实例。这构成了存储路径的最后一部分:<CONFIGURED_PATH>/<NODE_ID>。--object-store:指定要使用的对象存储类型。InfluxDB 支持以下内容file:本地文件系统memory:内存中(无对象持久化)memory-throttled:类似于memory,但具有在某种程度上类似于云对象存储的延迟和吞吐量s3:AWS S3 和 S3 兼容的服务,如 Ceph 或 Miniogoogle:Google Cloud Storageazure:Azure Blob Storage
其他对象存储参数,取决于所选的
object-store类型。例如,如果您使用s3,则必须提供存储桶名称和凭证。
无盘架构
InfluxDB 3 支持无盘架构,该架构仅通过对象存储即可运行,无需本地连接的磁盘。InfluxDB 3 Core 在需要时也可以仅使用本地磁盘存储。
对于本入门指南,请使用 file 对象存储将数据持久化到本地磁盘。
# File system object store
# Provide the file system directory
influxdb3 serve \
--node-id host01 \
--object-store file \
--data-dir ~/.influxdb3对象存储示例
有关服务器选项的更多信息,请使用 CLI 帮助或查看 InfluxDB 3 CLI 参考
influxdb3 serve --help使用 InfluxDB 3 Explorer 查询界面
您可以使用 InfluxDB 3 Explorer 完成本指南的其余步骤,InfluxDB 3 Explorer 是 InfluxDB 3 的基于 Web 的查询和管理界面。Explorer 提供对数据库和令牌的可视化管理,以及一种编写和查询时间序列数据的便捷方法。
有关更多信息,请参阅 InfluxDB 3 Explorer 文档。
设置授权
InfluxDB 3 Core 使用基于令牌的授权来授权数据库中的操作。启动服务器时默认启用授权。启用授权后,您必须在 influxdb3 CLI 命令和 HTTP API 请求中提供令牌。
InfluxDB 3 Core 支持管理员令牌,这些令牌授予对所有 CLI 操作和 API 端点的访问权限。
有关令牌和授权的更多信息,请参阅 管理令牌。
创建运算符令牌
启动服务器后,创建您的第一个管理员令牌。您创建的第一个管理员令牌是服务器的运算符令牌。
使用 influxdb3 create token 命令 和 --admin 选项来创建您的运算符令牌
influxdb3 create token --admin# With Docker — in a new terminal:
docker exec -it CONTAINER_NAME influxdb3 create token --admin将 CONTAINER_NAME 替换为您正在运行的 Docker 容器的名称。
该命令将返回一个令牌字符串,用于对 CLI 命令和 API 请求进行身份验证。
安全地存储您的令牌
InfluxDB 仅在创建令牌时显示令牌字符串。请安全地存储您的令牌——您之后无法从数据库中检索它。
设置您的令牌进行授权
使用您的运算符令牌对 InfluxDB 3 Core 中的服务器操作进行身份验证,例如执行管理任务以及写入和查询数据。
授权 CLI 命令
使用以下方法之一来提供您的令牌并授权 influxdb3 CLI 命令。
在您的命令中,将 YOUR_AUTH_TOKEN 替换为您的令牌字符串(例如,上一步中的运算符令牌)。
设置环境变量(推荐)
export INFLUXDB3_AUTH_TOKEN=YOUR_AUTH_TOKEN$env:INFLUXDB3_AUTH_TOKEN = "YOUR_AUTH_TOKEN"set INFLUXDB3_AUTH_TOKEN=YOUR_AUTH_TOKEN
# Make sure to include a space character at the end of this command.使用 --token 选项
influxdb3 show databases --token YOUR_AUTH_TOKEN授权 HTTP API 请求
对于 HTTP API 请求,请在 Authorization 标头中包含您的令牌——例如
curl "https://:8181/api/v3/configure/database" \
--header "Authorization: Bearer YOUR_AUTH_TOKEN"了解有关令牌和权限的更多信息
此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 InfluxDB 3 Core 和本文档提供反馈和错误报告。要获得支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。