milvus-logo
LFAI
Home
  • Werkzeuge

CDC-Server bereitstellen

Dieser Leitfaden enthält eine schrittweise Anleitung für die Bereitstellung eines Milvus-CDC-Servers.

Voraussetzungen

Stellen Sie sicher, dass die folgenden Bedingungen erfüllt sind, bevor Sie einen Milvus-CDC-Server einrichten:

  • Milvus-Instanzen: Sowohl das Quell-Milvus als auch mindestens ein Ziel-Milvus sollten bereitgestellt und betriebsbereit sein.

    • Sowohl die Quell- als auch die Ziel-Milvus-Versionen müssen 2.3.2 oder höher sein, vorzugsweise 2.4.x. Wir empfehlen, die gleiche Version für Quell- und Ziel-Milvus zu verwenden, um Kompatibilität zu gewährleisten.

    • Setzen Sie die common.ttMsgEnabled Konfiguration des Ziel-Milvus auf false.

    • Konfigurieren Sie das Quell- und das Ziel-Milvus mit unterschiedlichen Meta- und Nachrichtenspeichereinstellungen, um Konflikte zu vermeiden. Vermeiden Sie zum Beispiel die Verwendung derselben etcd- und rootPath-Konfigurationen sowie identischer Pulsar-Dienste und chanNamePrefix in mehreren Milvus-Instanzen.

  • Metaspeicher: Halten Sie eine etcd- oder MySQL-Datenbank für den Milvus-CDC-Metaspeicher bereit.

Schritte

Besorgen Sie sich die Milvus-CDC-Konfigurationsdatei

Klonen Sie das Milvus-CDC-Repositorium und navigieren Sie zum Verzeichnis milvus-cdc/server/configs, um auf die Konfigurationsdatei cdc.yaml zuzugreifen.

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

cd milvus-cdc/server/configs

Bearbeiten Sie die Konfigurationsdatei

Ändern Sie im Verzeichnis milvus-cdc/server/configs die Datei cdc.yaml, um die Konfigurationen in Bezug auf den Milvus-CDC-Metastore und die Verbindungsdetails der Milvus-Quelle anzupassen.

  • Metastore-Konfiguration:

    • metaStoreConfig.storeType: Typ des Metaspeichers für Milvus-CDC. Mögliche Werte sind etcd oder mysql.

    • metaStoreConfig.etcdEndpoints: Adresse für die Verbindung mit dem etcd von Milvus-CDC. Erforderlich, wenn storeType auf etcd eingestellt ist.

    • metaStoreConfig.mysqlSourceUrl: Verbindungsadresse der MySQL-Datenbank für den Milvus-CDC-Server. Erforderlich, wenn storeType auf mysql gesetzt ist.

    • metaStoreConfig.rootPath: Wurzelpfad des Milvus-CDC-Metaspeichers. Diese Konfiguration ermöglicht Multi-Tenancy, so dass mehrere CDC-Dienste dieselbe etcd- oder MySQL-Instanz nutzen können, während sie durch unterschiedliche Root-Pfade isoliert werden.

    Beispielkonfiguration:

    # 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
    
  • Quell-Milvus-Konfiguration:

    Geben Sie die Verbindungsdetails des Quell-Milvus an, einschließlich etcd und Nachrichtenspeicher, um eine Verbindung zwischen dem Milvus-CDC-Server und dem Quell-Milvus herzustellen.

    • sourceConfig.etcdAddress: Adresse für die Verbindung mit dem etcd des Quell-Milvus. Weitere Informationen finden Sie unter etcd-bezogene Konfigurationen.

    • sourceConfig.etcdRootPath: Root-Präfix des Schlüssels, in dem das Quell-Milvus Daten in etcd speichert. Der Wert kann je nach der Bereitstellungsmethode der Milvus-Instanz variieren:

      • Helm oder Docker Compose: Der Standardwert ist by-dev.

      • Operator: Der Standardwert ist <release_name>.

    • replicateChanName des Milvus-Replikationskanals, der in der Datei milvus.yaml unter {msgChannel.chanNamePrefix.cluster}/{msgChannel.chanNamePrefix.replicateMsg} zu finden ist

    • sourceConfig.pulsar: Pulsar-Konfigurationen für den Quell-Milvus. Wenn das Quell-Milvus Kafka zur Nachrichtenspeicherung verwendet, entfernen Sie alle Pulsar-bezogenen Konfigurationen. Weitere Informationen finden Sie unter Pulsar-bezogene Konfigurationen.

    • sourceConfig.kafka.address: Kafka-Adresse für das Quell-Milvus. Dekommentieren Sie diese Konfiguration, wenn das Quell-Milvus Kafka für die Nachrichtenspeicherung verwendet.

Beispielkonfiguration:

# 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

Kompilieren des Milvus-CDC-Servers

Nachdem Sie die Datei cdc.yaml gespeichert haben, navigieren Sie zum Verzeichnis milvus-cdc und führen einen der folgenden Befehle aus, um den Server zu kompilieren:

  • Für eine Binärdatei:

    make build
    
  • Für ein Docker-Abbild:

    bash build_image.sh
    

    Bei einem Docker-Image mounten Sie die kompilierte Datei nach /app/server/configs/cdc.yaml innerhalb des Containers.

Starten Sie den Server

  • Verwendung der Binärdatei

    Navigieren Sie zu dem Verzeichnis, das die Binärdatei milvus-cdc und das Verzeichnis configs mit der Datei cdc.yaml enthält, und starten Sie dann den Server:

    # 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
    
  • Verwenden Sie Docker Compose:

    docker compose up -d
    

Übersetzt vonDeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

War diese Seite hilfreich?