milvus-logo
LFAI
首页
  • Milvus 迁移

从 Milvus 2.3.x

本指南提供了从 Milvus 2.3.x 向 Milvus 2.3.x 或更高版本迁移数据的全面、逐步过程。

前提条件

  • 软件版本
    • 源 Milvus: 2.3.0+ (该工具使用迭代器获取源采集数据,要求源 Milvus 为 2.3.0 或以上版本。)
    • 目标 Milvus:2.3.0 以上
  • 所需工具
  • 数据准备
    • 确保源 Milvus 数据集已加载并准备好导出数据。
    • 如果目标Milvus中没有与源数据集相对应的数据集,milvus-migration工具会自动创建它。请注意,迁移后,目标数据集将不会被编入索引,之后必须手动为数据集编入索引。

配置迁移文件

将示例迁移配置文件保存为migration.yaml ,然后根据实际情况修改配置。您可以将配置文件放在任何本地目录下。

dumper:
  worker:
    workMode: milvus2x
    reader:
      bufferSize: 500

meta:
  mode: config
  version: 2.3.0
  collection: src_table_name

source:
  milvus2x:
    endpoint: {milvus2x_domain}:{milvus2x_port}
    username: xxxx
    password: xxxxx

target:
  milvus2x:
    endpoint: {milvus2x_domain}:{milvus2x_port}
    username: xxxx
    password: xxxxx

下表描述了示例配置文件中的参数。更多信息,请参阅Milvus 迁移:Milvus2.x 到 Milvus2.x

  • dumper

    参数参数
    dumper.worker.workMode迁移任务的运行模式。从 Milvus 2.x 迁移时设置为 milvus2x。
    dumper.worker.reader.bufferSize每批从 Milvus 2.x 读取的缓冲区大小。
  • meta

    参数说明
    meta.mode指定从何处读取元文件。设置为 config,表示可从该 migration.yaml 文件中获取元配置。
    meta.version源 Milvus 版本。设置为 2.3.0 或更高版本。
    meta.collection源集合名称。
  • source

    参数说明
    source.milvus2x.endpoint源 Milvus 服务器地址。
    source.milvus2x.username源 Milvus 服务器的用户名。如果 Milvus 服务器启用了用户身份验证,则需要使用此参数。有关详细信息,请参阅启用身份验证
    source.milvus2x.password源 Milvus 服务器的密码。如果 Milvus 服务器启用了用户身份验证,则需要使用此参数。有关更多信息,请参阅启用身份验证
  • target

    参数说明
    target.milvus2x.endpoint目标 Milvus 服务器地址。
    target.milvus2x.username目标 Milvus 服务器的用户名。如果 Milvus 服务器启用了用户身份验证,则需要使用此参数。有关详细信息,请参阅启用身份验证
    target.milvus2x.password目标 Milvus 服务器的密码。如果 Milvus 服务器启用了用户身份验证,则需要使用此参数。更多信息,请参阅启用身份验证

启动迁移任务

启动迁移任务有两个选项:使用 CLI 或提出 API 请求。请选择最适合您需要的选项。

选项 1:使用 CLI

使用以下命令启动迁移任务。将{YourConfigFilePath} 替换为配置文件migration.yaml 所在的本地目录。

./milvus-migration start --config=/{YourConfigFilePath}/migration.yaml

监控日志更新进度。成功的迁移日志应包括以下条目:

[INFO] [migration/milvus2x_starter.go:79] ["=================>JobProcess!"] [Percent=100]
[INFO] [migration/milvus2x_starter.go:27] ["[Starter] migration Milvus2x to Milvus2x finish!!!"] [Cost=94.877717375]
[INFO] [starter/starter.go:109] ["[Starter] Migration Success!"] [Cost=94.878243583]

方案 2:提出 API 请求

您也可以使用还原 API 执行迁移。用以下命令启动 API 服务器:

./milvus-migration server run -p 8080

服务器启动成功后,将migration.yaml 文件放到项目的configs/ 目录中,然后使用以下命令启动迁移:

curl -XPOST http://localhost:8080/api/v1/start

验证结果

迁移任务完成后,使用 Attu 查看已迁移实体的数量。此外,还可以在 Attu 中创建索引和加载集合。更多信息,请参阅Attuget_collection_stats()

其他配置选项

除上述基本配置外,您还可以根据具体要求添加其他设置。

  • 选择性字段迁移:如果只需要迁移集合中的特定字段而不是所有字段,请在migration.yaml 文件的meta 部分指定要迁移的字段。

    meta:
      fields:
        - name: id
        - name: title_vector
        - name: reading_time
    
  • 自定义目标集合:要自定义目标集合的属性,请在migration.yaml 文件的meta 部分添加相关配置。

    meta:
      milvus:
        collection: target_collection_name
        shardNum: 2
        closeDynamicField: false
        consistencyLevel: Customized
    

详细信息请参阅Milvus 迁移:Milvus2.x 到 Milvus2.x

翻译自DeepLogo

反馈

此页对您是否有帮助?