• Acerca de Milvus
  • Empezar
  • Conceptos
  • Guía del usuario
  • Importación de datos
  • Herramientas de IA
  • Guía de administración
  • Herramientas
  • Integraciones
  • Tutoriales
  • Preguntas frecuentes
  • API Reference

Configurar el almacenamiento de mensajes con Docker Compose o Helm

Milvus utiliza una cola de mensajes para gestionar los registros de los cambios recientes, generar registros de flujo y ofrecer suscripciones a registros. A partir de la versión 3.0.x de Milvus, Woodpecker es la cola de mensajes recomendada por defecto; en este tema se explica cómo configurar Pulsar o Kafka con Docker Compose o Helm.

Puedes configurar Pulsar con Docker Compose o en K8s, y configurar Kafka en K8s.

Limitaciones de la cola de mensajes: al actualizar a Milvus v3.0.0, debes mantener tu elección actual de cola de mensajes. No se admite el cambio entre diferentes sistemas de colas de mensajes durante la actualización. La compatibilidad con el cambio de sistemas de colas de mensajes estará disponible en futuras versiones.

Configurar Pulsar con Docker Compose

1. Configurar Pulsar

Para configurar Pulsar con Docker Compose, introduzca sus valores en la sección « pulsar » del archivo « milvus.yaml », ubicado en la ruta «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.

Consulte las configuraciones relacionadas con Pulsar para obtener más información.

2. Ejecutar Milvus

Ejecuta el siguiente comando para iniciar Milvus utilizando las configuraciones de Pulsar.

docker compose up
Las configuraciones solo surten efecto una vez que Milvus se ha iniciado. Consulta «Iniciar Milvus » para obtener más información.

Configurar Pulsar con Helm

Para los clústeres de Milvus en K8s, puede configurar Pulsar en el mismo comando con el que se inicia Milvus. Como alternativa, puede configurar Pulsar utilizando el archivo « values.yml », ubicado en la ruta «/charts/milvus» del repositorio «milvus-helm», antes de iniciar Milvus.

Para obtener más información sobre cómo configurar Milvus con Helm, consulta «Configurar Milvus con Helm Charts». Para obtener más información sobre los elementos de configuración relacionados con Pulsar, consulta «Configuraciones relacionadas con Pulsar». |

Uso del archivo YAML

  1. Configure la sección « externalConfigFiles » en el archivo « 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. Tras configurar las secciones anteriores y guardar el archivo ` values.yaml `, ejecute el siguiente comando para instalar Milvus utilizando las configuraciones de Pulsar.
helm install <your_release_name> milvus/milvus -f values.yaml

Configuración de Woodpecker con Helm

Para los clústeres de Milvus en K8s, puede configurar Woodpecker en el mismo comando que inicia Milvus. Como alternativa, puede configurar Woodpecker utilizando el archivo values.yml, ubicado en la ruta /charts/milvus del repositorio milvus-helm, antes de iniciar Milvus.

Para obtener más información sobre cómo configurar Milvus con Helm, consulta «Configurar Milvus con Helm Charts». Para obtener más información sobre los elementos de configuración relacionados con Woodpecker, consulta «Configuraciones relacionadas con Woodpecker». |

Uso del archivo YAML

  1. Configure la sección « externalConfigFiles » en el archivo « 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 number of flush retries.
          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. Tras configurar las secciones anteriores y guardar el archivo « values.yaml », ejecute el siguiente comando para instalar Milvus utilizando las configuraciones de Woodpecker.
helm install <your_release_name> milvus/milvus -f values.yaml

Configurar Kafka con Helm

Para los clústeres de Milvus en K8s, puede configurar Kafka en el mismo comando que inicia Milvus. Como alternativa, puede configurar Kafka utilizando el archivo values.yml, ubicado en la ruta /charts/milvus del repositorio milvus-helm, antes de iniciar Milvus.

Para obtener más información sobre cómo configurar Milvus con Helm, consulta «Configurar Milvus con Helm Charts». Para obtener más información sobre los elementos de configuración relacionados con Pulsar, consulta «Configuraciones relacionadas con Pulsar».

Uso del archivo YAML

  1. Configure la sección « externalConfigFiles » del archivo « values.yaml » si desea utilizar Kafka como sistema de almacenamiento de mensajes.
extraConfigFiles:
  user.yaml: |+
    kafka:
      brokerList:
        -  <your_kafka_address>:<your_kafka_port>
      saslUsername:
      saslPassword:
      saslMechanisms: PLAIN
      securityProtocol: SASL_SSL    
  1. Tras configurar las secciones anteriores y guardar el archivo ` values.yaml `, ejecute el siguiente comando para instalar Milvus con las configuraciones de Kafka.
helm install <your_release_name> milvus/milvus -f values.yaml

Configuración de RocksMQ con Helm

RocksMQ era el almacenamiento de mensajes predeterminado en Milvus independiente hasta la versión 2.5.x; a partir de la versión 2.6.x, el valor predeterminado es Woodpecker. Para conocer los pasos detallados sobre cómo configurar Milvus con Helm, consulta «Configurar Milvus con Helm Charts». Para obtener más información sobre los elementos de configuración relacionados con RocksMQ, consulta «Configuraciones relacionadas con RocksMQ».

  • Si ha iniciado Milvus con RocksMQ y desea modificar su configuración, puede ejecutar « helm upgrade -f » con los ajustes modificados en el siguiente archivo YAML.

  • Si ha instalado Milvus de forma independiente mediante Helm con un almacén de mensajes distinto de RocksMQ y desea volver a RocksMQ, ejecute « helm upgrade -f » con el siguiente archivo YAML después de haber vaciado todas las colecciones y detenido 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]    

No se recomienda cambiar el almacén de mensajes. Si, a pesar de todo, desea hacerlo, detenga todas las operaciones DDL, a continuación llame a la API FlushAll para vaciar todas las colecciones y, por último, detenga Milvus antes de cambiar realmente el almacén de mensajes.

Próximos pasos

Descubre cómo configurar otras dependencias de Milvus con Docker Compose o Helm: