milvus-logo
LFAI
Casa
  • Strumenti

Distribuzione del server CDC

Questa guida fornisce una procedura passo-passo per la distribuzione di un server Milvus-CDC.

Prerequisiti

Prima di distribuire un server Milvus-CDC, assicuratevi che siano soddisfatte le seguenti condizioni:

  • Istanze Milvus: Sia il Milvus di origine che almeno un Milvus di destinazione devono essere distribuiti e operativi.

    • Entrambe le versioni di Milvus di origine e di destinazione devono essere 2.3.2 o superiore, preferibilmente 2.4.x. Si consiglia di utilizzare la stessa versione per Milvus di origine e di destinazione per garantire la compatibilità.

    • Impostare la configurazione common.ttMsgEnabled del Milvus di destinazione su false.

    • Configurare il Milvus di origine e quello di destinazione con impostazioni distinte per la memorizzazione dei meta e dei messaggi, per evitare conflitti. Ad esempio, evitare di usare le stesse configurazioni etcd e rootPath, nonché servizi Pulsar e chanNamePrefix identici in più istanze Milvus.

  • Metastore: Preparare un database etcd o MySQL per il metastore Milvus-CDC.

Passi

Ottenere il file di configurazione di Milvus-CDC

Clonare il repo Milvus-CDC e navigare nella directory milvus-cdc/server/configs per accedere al file di configurazione cdc.yaml.

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

cd milvus-cdc/server/configs

Modificare il file di configurazione

Nella directory milvus-cdc/server/configs, modificare il file cdc.yaml per personalizzare le configurazioni relative al metastore Milvus-CDC e ai dettagli di connessione del Milvus di origine.

  • Configurazione del metastore:

    • metaStoreConfig.storeType: Tipo di metastore per Milvus-CDC. I valori possibili sono etcd o mysql.

    • metaStoreConfig.etcdEndpoints: Indirizzo per la connessione all'etcd di Milvus-CDC. Richiesto se storeType è impostato su etcd.

    • metaStoreConfig.mysqlSourceUrl: Indirizzo di connessione del database MySQL per il server Milvus-CDC. Richiesto se storeType è impostato su mysql.

    • metaStoreConfig.rootPath: Percorso radice del metastore Milvus-CDC. Questa configurazione consente la multi-tenancy, permettendo a più servizi CDC di utilizzare la stessa istanza etcd o MySQL, pur ottenendo l'isolamento attraverso percorsi radice diversi.

    Esempio di configurazione:

    # 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
    
  • Configurazione Milvus di origine:

    Specificare i dettagli di connessione del Milvus di origine, compresi etcd e l'archiviazione dei messaggi, per stabilire una connessione tra il server Milvus-CDC e il Milvus di origine.

    • sourceConfig.etcdAddress: Indirizzo per la connessione all'etcd del Milvus di origine. Per ulteriori informazioni, fare riferimento a Configurazioni relative a etcd.

    • sourceConfig.etcdRootPath: Prefisso radice della chiave in cui il Milvus di origine memorizza i dati in etcd. Il valore può variare in base al metodo di distribuzione dell'istanza Milvus:

      • Helm o Docker Compose: valore predefinito: by-dev.

      • Operatore: Valore predefinito: <release_name>.

    • replicateChanNome del canale di replica di Milvus, che è {msgChannel.chanNamePrefix.cluster}/{msgChannel.chanNamePrefix.replicateMsg} nel file milvus.yaml.

    • sourceConfig.pulsar: Configurazioni Pulsar per il Milvus di origine. Se il Milvus di origine utilizza Kafka per l'archiviazione dei messaggi, rimuovere tutte le configurazioni relative a Pulsar. Per ulteriori informazioni, fare riferimento a Configurazioni relative a Pulsar.

    • sourceConfig.kafka.address: Indirizzo Kafka per il Milvus di origine. Togliere il commento a questa configurazione se il Milvus di origine usa Kafka per l'archiviazione dei messaggi.

Esempio di configurazione:

# 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

Compilazione del server Milvus-CDC

Dopo aver salvato il file cdc.yaml, navigare nella directory milvus-cdc ed eseguire uno dei seguenti comandi per compilare il server:

  • Per un file binario:

    make build
    
  • Per un'immagine Docker:

    bash build_image.sh
    

    Per un'immagine Docker, montare il file compilato su /app/server/configs/cdc.yaml all'interno del contenitore.

Avviare il server

  • Utilizzando il file binario

    Navigare nella directory contenente il binario milvus-cdc e nella directory configs con il file cdc.yaml, quindi avviare il 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
    
  • Utilizzando Docker Compose:

    docker compose up -d
    

Tradotto daDeepL

Try Managed Milvus for Free

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

Get Started
Feedback

Questa pagina è stata utile?