文档文档

手动从 InfluxDB 1.x 升级到 2.7

手动从 InfluxDB 1.x 升级到 InfluxDB 2.7

  1. 安装 InfluxDB 2.7
  2. 迁移自定义配置设置
  3. 创建 DBRP 映射
  4. 创建授权
  5. 迁移时间序列数据
  6. 迁移连续查询
  7. 使用 InfluxQL 查询数据

安装 InfluxDB 2.7

下载、安装和设置 InfluxDB 2.7.

必需的 2.x 凭据

以下所有 InfluxDB 2.7 influx CLI 示例均假定所需的 hostorganizationAPI token 凭据由您的 influx CLI 配置提供。

迁移自定义配置设置

如果您在 InfluxDB 1.x 实例中使用自定义配置设置,请执行以下操作

  1. 比较 1.x 和 2.7 配置设置

    查看配置选项对等性

  2. 使用 influxd 标志、环境变量或 2.7 配置文件将您的 1.x 自定义设置应用于可比较的 InfluxDB 2.7 设置。有关配置 InfluxDB 2.7 的更多信息,请参阅配置选项

  3. 重启 influxd.

创建 DBRP 映射

InfluxDB 数据库和保留策略 (DBRP) 映射将数据库和保留策略组合与 InfluxDB 2.7 存储桶关联起来。这些映射允许 InfluxDB 1.x 客户端在使用 1.x DBRP 约定成功查询和写入 InfluxDB 2.7 存储桶。

有关 DBRP 映射的更多信息,请参阅数据库和保留策略映射

要将 DBRP 组合映射到 InfluxDB 2.7 存储桶,请执行以下操作

  1. 创建存储桶
    创建 InfluxDB 2.7 存储桶。我们建议为每个唯一的 1.x 数据库和保留策略组合创建一个存储桶,使用以下命名约定

    # Naming convention
    db-name/rp-name
    
    # Example
    telegraf/autogen
    
  2. 创建 DBRP 映射
    使用 influx v1 dbrp create 命令 创建 DBRP 映射。提供以下信息

    • 数据库名称
    • 保留策略名称(而非保留期限)
    • 存储桶 ID
    • (可选) --default 标志,如果您希望保留策略成为指定数据库的默认保留策略
    influx v1 dbrp create \
      --db example-db \
      --rp example-rp \
      --bucket-id 00xX00o0X001 \
      --default
    
    # Create telegraf/autogen DBRP mapping with autogen
    # as the default RP for the telegraf DB
    
    influx v1 dbrp create \
      --db telegraf \
      --rp autogen \
      --bucket-id 00xX00o0X001 \
      --default
    
    # Create telegraf/downsampled-daily DBRP mapping that
    # writes to a different bucket
    
    influx v1 dbrp create \
      --db telegraf \
      --rp downsampled-daily \
      --bucket-id 00xX00o0X002
    
  3. 确认 DBRP 映射已创建
    使用 influx v1 dbrp list 列出现有的 DBRP 映射。

    influx v1 dbrp list
    

有关管理 DBRP 映射的信息,请参阅 influx v1 dbrp 命令文档

创建授权

InfluxDB 2.7 需要身份验证,并提供两种身份验证方法

令牌身份验证

使用 InfluxDB 2.7 令牌身份验证 对 InfluxDB 2.7 的请求进行身份验证。

  • 您的 1.x 实例未启用身份验证

将令牌与基本身份验证一起使用

要将令牌与需要 InfluxDB 用户名和密码的 InfluxDB 客户端一起使用,请提供任意用户名并将令牌作为密码传递。

1.x 兼容授权

InfluxDB 2.7 提供 1.x 兼容性 API,允许您像在 InfluxDB 1.x 中一样使用用户名和密码进行身份验证。如果您的 InfluxDB 1.x 实例中启用了身份验证,请创建 1.x 兼容授权,使用与您的 InfluxDB 1.x 实例相同的用户名和密码,以允许外部客户端连接到您的 InfluxDB 2.7 实例,而无需进行任何更改。

  • 您的 1.x 实例已启用身份验证
  • 您正在使用配置了 InfluxDB 用户名和密码的 InfluxDB 1.x 客户端或客户端库

1.x 兼容性授权与用于登录 InfluxDB 2.7 用户界面 (UI) 的凭据是分开的。

创建 1.x 兼容授权

使用 InfluxDB 2.7 influx v1 auth create 命令 创建 1.x 兼容授权,该授权授予对特定 2.7 存储桶的读/写权限。提供以下信息

  • 存储桶 ID 列表,以授予读或写权限
  • 新的 v1 授权用户名
  • 新的 v1 授权密码(出现提示时)
influx v1 auth create \
  --read-bucket 00xX00o0X001 \
  --write-bucket 00xX00o0X001 \
  --username example-user
influx v1 auth create \
  --read-bucket 00xX00o0X001 \
  --read-bucket 00xX00o0X002 \
  --write-bucket 00xX00o0X001 \
  --write-bucket 00xX00o0X002 \
  --username example-user

有关管理 1.x 兼容授权的信息,请参阅 influx v1 auth 命令文档

迁移时间序列数据

要将时间序列数据从您的 InfluxDB 1.x 实例迁移到 InfluxDB 2.7,请执行以下操作

  1. 使用 InfluxDB 1.x influx_inspect export 命令 将时间序列数据导出为行协议。包含 -lponly 标志以从输出文件中排除注释和数据定义语言 (DDL)。

    我们建议分别导出每个 DBRP 组合,以便轻松地将数据写入相应的 InfluxDB 2.7 存储桶。

    # Syntax
    influx_inspect export \
      -database <database-name> \
      -retention <retention-policy-name> \
      -out <output-file-path> \
      -lponly
    
    # Example
    influx_inspect export \
      -database example-db \
      -retention example-rp \
      -out /path/to/example-db_example-rp.lp \
      -lponly
    
  2. 使用 InfluxDB 2.7 influx write 命令 将导出的行协议写入 InfluxDB 2.7

    # Syntax
    influx write \
      --bucket <bucket-name> \
      --file <path-to-line-protocol-file>
    
    # Example
    influx write \
      --bucket example-db/example-rp \
      --file /path/to/example-db_example-rp.lp
    
  3. 对每个存储桶重复步骤 1-2。

迁移连续查询

有关将 InfluxDB 1.x 连续查询迁移到 InfluxDB 2.7 任务的信息,请参阅 将连续查询迁移到任务

使用 InfluxQL 查询数据

InfluxDB 2.7 支持使用 Flux 和 InfluxQL 查询数据。有关使用 InfluxQL 查询 InfluxDB 2.7 的更多信息,请参阅 使用 InfluxQL 查询数据


此页面是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像现在这样使用它,无需更改任何代码。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速的近实时数据引擎,可以实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 构建于 Core 的基础之上,增加了高可用性、读取副本、增强的安全性以及数据压缩功能,从而实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层级可供非商业家庭或业余爱好者使用。

了解更多信息,请查看