• О Милвусе
  • Начать
  • Концепции
  • Руководство пользователя
  • Импорт данных
  • Инструменты искусственного интеллекта
  • Руководство по администрированию
  • Инструменты
  • Интеграции
  • Учебники
  • Вопросы и ответы
  • API Reference

Развертывание сервера CDC

В этом руководстве представлен пошаговый процесс развертывания сервера Milvus-CDC.

Необходимые условия

Перед развертыванием сервера Milvus-CDC убедитесь, что выполнены следующие условия:

  • Экземпляры Milvus: Оба исходных Milvus и хотя бы один целевой Milvus должны быть развернуты и работать.

    • Версии исходного и целевого Milvus должны быть 2.3.2 или выше, предпочтительно 2.4.x. Мы рекомендуем использовать одну и ту же версию для исходного и целевого Milvus, чтобы обеспечить совместимость.

    • Установите конфигурацию common.ttMsgEnabled целевого Milvus на false.

    • Настройте исходный и целевой Milvus с разными параметрами хранения метаданных и сообщений, чтобы избежать конфликтов. Например, избегайте использования одинаковых конфигураций etcd и rootPath, а также одинаковых сервисов Pulsar и chanNamePrefix в нескольких экземплярах Milvus.

  • Метахранилище: Подготовьте базу данных etcd или MySQL для метахранилища Milvus-CDC.

Шаги

Получите файл конфигурации Milvus-CDC

Клонируйте репозиторий Milvus-CDC и перейдите в каталог milvus-cdc/server/configs, чтобы получить доступ к файлу конфигурации cdc.yaml.

git clone https://github.com/zilliztech/milvus-cdc.git

cd milvus-cdc/server/configs

Отредактируйте файл конфигурации

В каталоге milvus-cdc/server/configs измените файл cdc.yaml, чтобы настроить конфигурации, связанные с метахранилищем Milvus-CDC и деталями подключения исходного Milvus.

  • Конфигурация метахранилища:

    • metaStoreConfig.storeType: Тип метахранилища для Milvus-CDC. Возможные значения: etcd или mysql.

    • metaStoreConfig.etcdEndpoints: Адрес для подключения к etcd Milvus-CDC. Требуется, если для storeType установлено значение etcd.

    • metaStoreConfig.mysqlSourceUrl: Адрес подключения к базе данных MySQL для сервера Milvus-CDC. Требуется, если storeType установлен в mysql.

    • metaStoreConfig.rootPath: Корневой путь метахранилища Milvus-CDC. Эта конфигурация обеспечивает многопользовательский режим, позволяя нескольким службам CDC использовать один и тот же экземпляр etcd или MySQL, достигая при этом изоляции за счет разных корневых путей.

    Пример конфигурации:

    # cdc meta data config
    metaStoreConfig:
      # the metastore type, available value: etcd, mysql
      storeType: etcd
      # etcd address
      etcdEndpoints:
        - localhost:2379
      # mysql connection address
      # mysqlSourceUrl: root:root@tcp(127.0.0.1:3306)/milvus-cdc?charset=utf8
      # meta data prefix, if multiple cdc services use the same store service, you can set different rootPaths to achieve multi-tenancy
      rootPath: cdc
    
  • Конфигурация источника Milvus:

    Укажите детали подключения исходного Milvus, включая etcd и хранилище сообщений, чтобы установить соединение между сервером Milvus-CDC и исходным Milvus.

    • sourceConfig.etcdAddress: Адрес для подключения к etcd источника Milvus. Дополнительные сведения см. в разделе Конфигурации, связанные с etcd.

    • sourceConfig.etcdRootPath: Корневой префикс ключа, по которому исходный Milvus хранит данные в etcd. Значение может меняться в зависимости от метода развертывания экземпляра Milvus:

      • Helm или Docker Compose: По умолчанию by-dev.

      • Оператор: По умолчанию <release_name>.

    • replicateChan: имя канала репликации milvus, которое находится на {msgChannel.chanNamePrefix.cluster}/{msgChannel.chanNamePrefix.replicateMsg} в файле milvus.yaml.

    • sourceConfig.pulsar: Конфигурации Pulsar для исходного Milvus. Если источник Milvus использует Kafka для хранения сообщений, удалите все конфигурации, связанные с Pulsar. Дополнительные сведения см. в разделе Конфигурации, связанные с Pulsar.

    • sourceConfig.kafka.address: Адрес Kafka для источника Milvus. Не комментируйте эту конфигурацию, если источник Milvus использует Kafka для хранения сообщений.

Пример конфигурации:

# milvus-source config, these settings are basically the same as the corresponding configuration of milvus.yaml in milvus source.
sourceConfig:
  # etcd config
  etcdAddress:
    - localhost:2379
  etcdRootPath: by-dev
  etcdMetaSubPath: meta
  # default partition name
  defaultPartitionName: _default
  # read buffer length, mainly used for buffering if writing data to milvus-target is slow.
  readChanLen: 10
  replicateChan: by-dev-replicate-msg
  # milvus-source mq config, which is pulsar or kafka
  pulsar:
    address: pulsar://localhost:6650
    webAddress: localhost:80
    maxMessageSize: 5242880
    tenant: public
    namespace: default
#    authPlugin: org.apache.pulsar.client.impl.auth.AuthenticationToken
#    authParams: token:xxx
#  kafka:
#    address: 127.0.0.1:9092

Компиляция сервера Milvus-CDC

После сохранения файла cdc.yaml перейдите в каталог milvus-cdc и выполните одну из следующих команд для компиляции сервера:

  • Для бинарного файла:

    make build
    
  • Для образа Docker:

    bash build_image.sh
    

    Для образа Docker смонтируйте скомпилированный файл на /app/server/configs/cdc.yaml внутри контейнера.

Запустите сервер

  • Использование двоичного файла

    Перейдите в каталог с бинарным файлом milvus-cdc и в каталог configs с файлом cdc.yaml, а затем запустите сервер:

    # dir tree
    .
    ├── milvus-cdc # build from source code or download from release page
    ├── configs
    │   └── cdc.yaml # config for cdc and source milvus
    
    # start milvus cdc
    ./milvus-cdc server
    
  • Используя Docker Compose:

    docker compose up -d
    

Попробуйте Managed Milvus бесплатно

Zilliz Cloud работает без проблем, поддерживается Milvus и в 10 раз быстрее.

Начать
Обратная связь

Была ли эта страница полезной?