• Informazioni su Milvus
  • Iniziare
  • Concetti
  • Guida per l'utente
  • Importazione dei dati
  • Strumenti AI
  • Guida all'amministrazione
  • Strumenti
  • Integrazioni
  • Tutorial
  • Domande frequenti
  • API Reference

Configurare l'archiviazione dei messaggi con Docker Compose o Helm

Milvus utilizza Pulsar o Kafka per la gestione dei log delle modifiche recenti, l'output dei log dei flussi e la fornitura di sottoscrizioni ai log. Pulsar è il sistema di archiviazione dei messaggi predefinito. Questo argomento illustra come configurare l'archiviazione dei messaggi con Docker Compose o Helm.

È possibile configurare Pulsar con Docker Compose o su K8s e configurare Kafka su K8s.

Limitazioni della coda di messaggi: Quando si effettua l'aggiornamento a Milvus v2.6.15, è necessario mantenere l'attuale scelta della coda di messaggi. Il passaggio da un sistema di code di messaggi all'altro durante l'aggiornamento non è supportato. Il supporto per il cambio di sistemi di code di messaggi sarà disponibile nelle versioni future.

Configurazione di Pulsar con Docker Compose

1. Configurare Pulsar

Per configurare Pulsar con Docker Compose, fornire i valori della sezione pulsar nel file milvus.yaml nel percorso milvus/configs.

pulsar:
  address: localhost # Address of pulsar
  port: 6650 # Port of pulsar
  maxMessageSize: 5242880 # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.

Per ulteriori informazioni, vedere le configurazioni relative a Pulsar.

2. Eseguire Milvus

Eseguire il seguente comando per avviare Milvus che utilizza le configurazioni di Pulsar.

docker compose up
Le configurazioni diventano effettive solo dopo l'avvio di Milvus. Per ulteriori informazioni, vedere Avvio di Milvus.

Configurare Pulsar con Helm

Per i cluster Milvus su K8, è possibile configurare Pulsar con lo stesso comando di avvio di Milvus. In alternativa, è possibile configurare Pulsar utilizzando il file values.yml nel percorso /charts/milvus nel repository milvus-helm prima di avviare Milvus.

Per i dettagli su come configurare Milvus usando Helm, fare riferimento a Configurare Milvus con i grafici Helm. Per i dettagli sulle voci di configurazione relative a Pulsar, consultare Configurazioni relative a Pulsar. |

Uso del file YAML

  1. Configurare la sezione externalConfigFiles nel file values.yaml.
extraConfigFiles:
  user.yaml: |+
    pulsar:
      address: localhost # Address of pulsar
      port: 6650 # Port of Pulsar
      webport: 80 # Web port of pulsar, if you connect direcly without proxy, should use 8080
      maxMessageSize: 5242880 # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.
      tenant: public
      namespace: default    
  1. Dopo aver configurato le sezioni precedenti e salvato il file values.yaml, eseguire il seguente comando per installare Milvus che utilizza le configurazioni di Pulsar.
helm install <your_release_name> milvus/milvus -f values.yaml

Configurare Woodpecker con Helm

Per i cluster Milvus su K8, è possibile configurare Woodpecker con lo stesso comando che avvia Milvus. In alternativa, è possibile configurare Woodpecker utilizzando il file values.yml nel percorso /charts/milvus nel repository milvus-helm prima di avviare Milvus.

Per i dettagli su come configurare Milvus usando Helm, consultare Configurazione di Milvus con i grafici Helm. Per i dettagli sulle voci di configurazione relative a Woodpecker, fare riferimento a Configurazioni relative a Woodpecker. |

Uso del file YAML

  1. Configurare la sezione externalConfigFiles nel file values.yaml.
extraConfigFiles:
  user.yaml: |+
    woodpecker:
      meta:
        type: etcd # The Type of the metadata provider. currently only support etcd.
        prefix: woodpecker # The Prefix of the metadata provider. default is woodpecker.
      client:
        segmentAppend:
          queueSize: 10000 # The size of the queue for pending messages to be sent of each log.
          maxRetries: 3 # Maximum number of retries for segment append operations.
        segmentRollingPolicy:
          maxSize: 256M # Maximum size of a segment.
          maxInterval: 10m # Maximum interval between two segments, default is 10 minutes.
          maxBlocks: 1000 # Maximum number of blocks in a segment
        auditor:
          maxInterval: 10s # Maximum interval between two auditing operations, default is 10 seconds.
      logstore:
        segmentSyncPolicy:
          maxInterval: 200ms # Maximum interval between two sync operations, default is 200 milliseconds.
          maxIntervalForLocalStorage: 10ms # Maximum interval between two sync operations local storage backend, default is 10 milliseconds.
          maxBytes: 256M # Maximum size of write buffer in bytes.
          maxEntries: 10000 # Maximum entries number of write buffer.
          maxFlushRetries: 5 # Maximum size of write buffer in bytes.
          retryInterval: 1000ms # Maximum interval between two retries. default is 1000 milliseconds.
          maxFlushSize: 2M # Maximum size of a fragment in bytes to flush.
          maxFlushThreads: 32 # Maximum number of threads to flush data
        segmentCompactionPolicy:
          maxSize: 2M # The maximum size of the merged files.
          maxParallelUploads: 4 # The maximum number of parallel upload threads for compaction.
          maxParallelReads: 8 # The maximum number of parallel read threads for compaction.
        segmentReadPolicy:
          maxBatchSize: 16M # Maximum size of a batch in bytes.
          maxFetchThreads: 32 # Maximum number of threads to fetch data.
      storage:
        type: minio # The Type of the storage provider. Valid values: [minio, local]
        rootPath: /var/lib/milvus/woodpecker # The root path of the storage provider.    
  1. Dopo aver configurato le sezioni precedenti e salvato il file values.yaml, eseguire il seguente comando per installare Milvus che utilizza le configurazioni di Woodpecker.
helm install <your_release_name> milvus/milvus -f values.yaml

Configurare Kafka con Helm

Per i cluster Milvus su K8s, è possibile configurare Kafka con lo stesso comando che avvia Milvus. In alternativa, è possibile configurare Kafka utilizzando il file values.yml nel percorso /charts/milvus nel repository milvus-helm prima di avviare Milvus.

Per i dettagli su come configurare Milvus usando Helm, fare riferimento a Configurare Milvus con i grafici Helm. Per i dettagli sulle voci di configurazione relative a Pulsar, fare riferimento a Configurazioni relative a Pulsar.

Uso del file YAML

  1. Configurare la sezione externalConfigFiles nel file values.yaml se si desidera utilizzare Kafka come sistema di archiviazione dei messaggi.
extraConfigFiles:
  user.yaml: |+
    kafka:
      brokerList:
        -  <your_kafka_address>:<your_kafka_port>
      saslUsername:
      saslPassword:
      saslMechanisms: PLAIN
      securityProtocol: SASL_SSL    
  1. Dopo aver configurato le sezioni precedenti e salvato il file values.yaml, eseguire il seguente comando per installare Milvus che utilizza le configurazioni di Kafka.
helm install <your_release_name> milvus/milvus -f values.yaml

Configurare RocksMQ con Helm

Milvus standalone utilizza RocksMQ come archivio messaggi predefinito. Per i passi dettagliati su come configurare Milvus con Helm, fate riferimento a Configurare Milvus con i grafici di Helm. Per i dettagli sulle voci di configurazione relative a RocksMQ, fate riferimento a Configurazioni relative a RocksMQ.

  • Se si avvia Milvus con RocksMQ e si vogliono modificare le sue impostazioni, si può eseguire helm upgrade -f con le impostazioni modificate nel seguente file YAML.

  • Se avete installato Milvus standalone usando Helm con un message store diverso da RocksMQ e volete tornare a RocksMQ, eseguite helm upgrade -f con il seguente file YAML dopo aver scaricato tutte le collezioni e fermato Milvus.

extraConfigFiles:
  user.yaml: |+
    rocksmq:
      # The path where the message is stored in rocksmq
      # please adjust in embedded Milvus: /tmp/milvus/rdb_data
      path: /var/lib/milvus/rdb_data
      lrucacheratio: 0.06 # rocksdb cache memory ratio
      rocksmqPageSize: 67108864 # 64 MB, 64 * 1024 * 1024 bytes, The size of each page of messages in rocksmq
      retentionTimeInMinutes: 4320 # 3 days, 3 * 24 * 60 minutes, The retention time of the message in rocksmq.
      retentionSizeInMB: 8192 # 8 GB, 8 * 1024 MB, The retention size of the message in rocksmq.
      compactionInterval: 86400 # 1 day, trigger rocksdb compaction every day to remove deleted data
      # compaction compression type, only support use 0,7.
      # 0 means not compress, 7 will use zstd
      # len of types means num of rocksdb level.
      compressionTypes: [0, 0, 7, 7, 7]    

La modifica dell'archivio messaggi non è consigliata. Se si desidera farlo, interrompere tutte le operazioni DDL, quindi chiamare l'API FlushAll per eseguire il flush di tutte le collezioni e infine arrestare Milvus prima di cambiare effettivamente l'archivio dei messaggi.

Il prossimo passo

Scoprite come configurare altre dipendenze di Milvus con Docker Compose o Helm: