С 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
Режим работы задания миграции. Установите значение milvus2x при миграции с Milvus 2.x. 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-запросов
Для выполнения миграции можно также использовать Restful 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().
Дополнительные параметры конфигурации
В дополнение к базовым настройкам, упомянутым выше, вы можете добавить дополнительные параметры, исходя из ваших конкретных требований.
Выборочная миграция полей: Если вам нужно перенести только определенные поля коллекции, а не все поля, укажите поля, которые нужно перенести, в разделе
meta
файлаmigration.yaml
.meta: fields: - name: id - name: title_vector - name: reading_time
Пользовательская целевая коллекция: Чтобы настроить свойства целевой коллекции, добавьте соответствующие конфигурации в раздел
meta
файлаmigration.yaml
.meta: milvus: collection: target_collection_name shardNum: 2 closeDynamicField: false consistencyLevel: Customized
Подробную информацию см. в разделе Миграция Milvus: Milvus2.x - Milvus2.x.