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
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
- 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
- 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
- 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.
- 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
- 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
- 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: