手动从 InfluxDB 1.x 升级到 2.7
手动从 InfluxDB 1.x 升级到 InfluxDB 2.7
安装 InfluxDB 2.7
必需的 2.x 凭据
以下所有 InfluxDB 2.7 influx
CLI 示例均假定所需的 host、organization 和 API token 凭据由您的 influx
CLI 配置提供。
迁移自定义配置设置
如果您在 InfluxDB 1.x 实例中使用自定义配置设置,请执行以下操作
比较 1.x 和 2.7 配置设置
使用
influxd
标志、环境变量或 2.7 配置文件将您的 1.x 自定义设置应用于可比较的 InfluxDB 2.7 设置。有关配置 InfluxDB 2.7 的更多信息,请参阅配置选项。重启
influxd
.
创建 DBRP 映射
InfluxDB 数据库和保留策略 (DBRP) 映射将数据库和保留策略组合与 InfluxDB 2.7 存储桶关联起来。这些映射允许 InfluxDB 1.x 客户端在使用 1.x DBRP 约定成功查询和写入 InfluxDB 2.7 存储桶。
有关 DBRP 映射的更多信息,请参阅数据库和保留策略映射。
要将 DBRP 组合映射到 InfluxDB 2.7 存储桶,请执行以下操作
创建存储桶
创建 InfluxDB 2.7 存储桶。我们建议为每个唯一的 1.x 数据库和保留策略组合创建一个存储桶,使用以下命名约定# Naming convention db-name/rp-name # Example telegraf/autogen
创建 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
确认 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,请执行以下操作
使用 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
使用 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
对每个存储桶重复步骤 1-2。
迁移连续查询
有关将 InfluxDB 1.x 连续查询迁移到 InfluxDB 2.7 任务的信息,请参阅 将连续查询迁移到任务。
使用 InfluxQL 查询数据
InfluxDB 2.7 支持使用 Flux 和 InfluxQL 查询数据。有关使用 InfluxQL 查询 InfluxDB 2.7 的更多信息,请参阅 使用 InfluxQL 查询数据。
此页面是否对您有帮助?
感谢您的反馈!