从 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-migration工具。有关安装细节,请参阅安装迁移工具。
- 数据准备:
- 确保源 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 中创建索引和加载集合。更多信息,请参阅Attu和get_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。