• Tentang Milvus
  • Memulai
  • Konsep
  • Panduan Pengguna
  • Impor Data
  • Alat AI
  • Panduan Administrasi
  • Peralatan
  • Integrasi
  • Tutorial
  • Pertanyaan Umum
  • API Reference

Mengonfigurasi Penyimpanan Pesan dengan Docker Compose atau Helm

Milvus menggunakan Pulsar atau Kafka untuk mengelola log perubahan terbaru, mengeluarkan log aliran, dan menyediakan langganan log. Pulsar adalah sistem penyimpanan pesan default. Topik ini memperkenalkan cara mengonfigurasi penyimpanan pesan dengan Docker Compose atau Helm.

Anda dapat mengonfigurasi Pulsar dengan Docker Compose atau pada K8 dan mengonfigurasi Kafka pada K8.

Keterbatasan Antrian Pesan: Saat meningkatkan ke Milvus v2.6.15, Anda harus mempertahankan pilihan antrean pesan saat ini. Beralih di antara sistem antrean pesan yang berbeda selama upgrade tidak didukung. Dukungan untuk mengubah sistem antrean pesan akan tersedia di versi mendatang.

Mengonfigurasi Pulsar dengan Docker Compose

1. Mengkonfigurasi Pulsar

Untuk mengonfigurasi Pulsar dengan Docker Compose, berikan nilai Anda untuk bagian pulsar di berkas milvus.yaml pada jalur 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.

Lihat Konfigurasi terkait Pulsar untuk informasi lebih lanjut.

2. Menjalankan Milvus

Jalankan perintah berikut untuk menjalankan Milvus yang menggunakan konfigurasi Pulsar.

docker compose up
Konfigurasi hanya berlaku setelah Milvus dijalankan. Lihat Memulai Milvus untuk informasi lebih lanjut.

Mengkonfigurasi Pulsar dengan Helm

Untuk gugus Milvus pada K8, Anda dapat mengonfigurasi Pulsar dengan perintah yang sama dengan perintah untuk memulai Milvus. Atau, Anda dapat mengkonfigurasi Pulsar menggunakan berkas values.yml pada jalur /charts/milvus di repositori milvus-helm sebelum memulai Milvus.

Untuk detail tentang cara mengkonfigurasi Milvus menggunakan Helm, lihat Mengkonfigurasi Milvus dengan Grafik Helm. Untuk detail mengenai item konfigurasi yang berhubungan dengan Pulsar, lihat Konfigurasi yang berhubungan dengan Pulsar.

Menggunakan file YAML

  1. Konfigurasikan bagian externalConfigFiles pada 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. Setelah mengkonfigurasi bagian sebelumnya dan menyimpan file values.yaml, jalankan perintah berikut untuk menginstal Milvus yang menggunakan konfigurasi Pulsar.
helm install <your_release_name> milvus/milvus -f values.yaml

Konfigurasi Milvus dengan Helm

Untuk cluster Milvus pada K8, Anda dapat mengonfigurasi Woodpecker dengan perintah yang sama dengan perintah untuk memulai Milvus. Sebagai alternatif, Anda dapat mengkonfigurasi Woodpecker menggunakan file values.yml pada jalur /charts/milvus di repositori milvus-helm sebelum memulai Milvus.

Untuk detail mengenai cara mengkonfigurasi Milvus menggunakan Helm, lihat Mengkonfigurasi Milvus dengan Grafik Helm. Untuk detail mengenai item konfigurasi yang berhubungan dengan Woodpecker, lihat Konfigurasi yang berhubungan dengan Woodpecker.

Menggunakan file YAML

  1. Konfigurasikan bagian externalConfigFiles di 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. Setelah mengonfigurasi bagian sebelumnya dan menyimpan berkas values.yaml, jalankan perintah berikut untuk menginstal Milvus yang menggunakan konfigurasi Woodpecker.
helm install <your_release_name> milvus/milvus -f values.yaml

Mengkonfigurasi Kafka dengan Helm

Untuk cluster Milvus pada K8, Anda dapat mengonfigurasi Kafka dengan perintah yang sama dengan perintah untuk menjalankan Milvus. Atau, Anda dapat mengonfigurasi Kafka menggunakan file values.yml pada jalur /charts/milvus di repositori milvus-helm sebelum memulai Milvus.

Untuk detail mengenai cara mengkonfigurasi Milvus menggunakan Helm, lihat Mengkonfigurasi Milvus dengan Grafik Helm. Untuk detail mengenai item konfigurasi yang berhubungan dengan Pulsar, lihat Konfigurasi yang berhubungan dengan Pulsar.

Menggunakan file YAML

  1. Konfigurasikan bagian externalConfigFiles pada file values.yaml jika Anda ingin menggunakan Kafka sebagai sistem penyimpanan pesan.
extraConfigFiles:
  user.yaml: |+
    kafka:
      brokerList:
        -  <your_kafka_address>:<your_kafka_port>
      saslUsername:
      saslPassword:
      saslMechanisms: PLAIN
      securityProtocol: SASL_SSL    
  1. Setelah mengkonfigurasi bagian sebelumnya dan menyimpan berkas values.yaml, jalankan perintah berikut untuk menginstal Milvus yang menggunakan konfigurasi Kafka.
helm install <your_release_name> milvus/milvus -f values.yaml

Mengkonfigurasi RocksMQ dengan Helm

Milvus mandiri menggunakan RocksMQ sebagai penyimpanan pesan default. Untuk langkah-langkah terperinci tentang cara mengonfigurasi Milvus dengan Helm, lihat Mengonfigurasi Milvus dengan Grafik Helm. Untuk detail tentang item konfigurasi yang berhubungan dengan RocksMQ, lihat Konfigurasi yang berhubungan dengan RocksMQ.

  • Jika Anda memulai Milvus dengan RocksMQ dan ingin mengubah pengaturannya, Anda dapat menjalankan helm upgrade -f dengan pengaturan yang telah diubah pada file YAML berikut ini.

  • Jika Anda telah menginstal Milvus mandiri menggunakan Helm dengan penyimpanan pesan selain RocksMQ dan ingin mengubahnya kembali ke RocksMQ, jalankan helm upgrade -f dengan file YAML berikut setelah Anda mem-flush semua koleksi dan menghentikan 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]    

Mengubah penyimpanan pesan tidak disarankan. Jika Anda ingin melakukan ini, hentikan semua operasi DDL, lalu panggil FlushAll API untuk mem-flush semua koleksi, dan akhirnya hentikan Milvus sebelum Anda benar-benar mengubah penyimpanan pesan.

Apa selanjutnya

Pelajari cara mengonfigurasi dependensi Milvus lainnya dengan Docker Compose atau Helm: