• Informazioni su Milvus
  • Inizia
  • Concetti
  • Guida per l'utente
  • Importazione dei dati
  • Strumenti di intelligenza artificiale
  • Guida all'amministrazione
  • Strumenti
  • Integrazioni
  • Tutorial
  • Domande frequenti
  • API Reference

Configurazione dell'archiviazione dei messaggi con Docker Compose o Helm

Milvus utilizza Pulsar o Kafka per gestire i log delle modifiche recenti, generare log in streaming e fornire 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.

Limiti della coda dei messaggi: quando si esegue l’aggiornamento a Milvus v2.6.24, è necessario mantenere l’attuale scelta della coda dei messaggi. Il passaggio da un sistema di coda dei messaggi a un altro durante l’aggiornamento non è supportato. Il supporto per la modifica dei sistemi di coda dei messaggi sarà disponibile nelle versioni future.

Configurazione di Pulsar con Docker Compose

1. Configurare Pulsar

Per configurare Pulsar con Docker Compose, specificare i valori nella sezione ` pulsar ` del file ` milvus.yaml ` presente 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, consultare le configurazioni relative a Pulsar.

2. Avviare Milvus

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

docker compose up
Le configurazioni hanno effetto solo dopo l’avvio di Milvus. Per ulteriori informazioni, consultare la sezione Avvio di Milvus.

Configurare Pulsar con Helm

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

Per i dettagli su come configurare Milvus utilizzando Helm, consultare Configurare Milvus con Helm Charts. Per i dettagli sulle voci di configurazione relative a Pulsar, consultare Configurazioni relative a Pulsar. |

Utilizzo 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 comando seguente per installare Milvus utilizzando le configurazioni di Pulsar.
helm install <your_release_name> milvus/milvus -f values.yaml

Configurazione di Woodpecker con Helm

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

Per ulteriori dettagli su come configurare Milvus utilizzando Helm, consultare Configurare Milvus con Helm Charts. Per ulteriori dettagli sulle voci di configurazione relative a Woodpecker, consultare le configurazioni relative a Woodpecker. |

Utilizzo 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 utilizzando le configurazioni di Woodpecker.
helm install <your_release_name> milvus/milvus -f values.yaml

Configurazione di 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 presente nel percorso /charts/milvus del repository milvus-helm prima di avviare Milvus.

Per i dettagli su come configurare Milvus utilizzando Helm, consultare Configurare Milvus con Helm Charts. Per i dettagli sulle voci di configurazione relative a Pulsar, consultare Configurazioni relative a Pulsar.

Utilizzo 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 comando seguente per installare Milvus utilizzando le configurazioni di Kafka.
helm install <your_release_name> milvus/milvus -f values.yaml

Configurazione di RocksMQ con Helm

Milvus in modalità standalone utilizza RocksMQ come archivio predefinito dei messaggi. Per i passaggi dettagliati su come configurare Milvus con Helm, consultare Configurare Milvus con Helm Charts. Per i dettagli sulle voci di configurazione relative a RocksMQ, consultare Configurazioni relative a RocksMQ.

  • Se si avvia Milvus con RocksMQ e si desidera modificarne le impostazioni, è possibile eseguire ` helm upgrade -f ` con le impostazioni modificate nel seguente file YAML.

  • Se avete installato Milvus in modalità standalone utilizzando Helm con un archivio messaggi diverso da RocksMQ e desiderate tornare a RocksMQ, eseguite il comando ` helm upgrade -f ` con il seguente file YAML dopo aver svuotato tutte le collezioni e arrestato 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 del repository dei messaggi non è consigliata. Se si desidera comunque procedere, interrompere tutte le operazioni DDL, quindi chiamare l’API FlushAll per svuotare tutte le raccolte e, infine, arrestare Milvus prima di modificare effettivamente il repository dei messaggi.

Prossimi passi

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