• Tentang Milvus
  • Mulailah
  • Konsep
  • Panduan Pengguna
  • Impor Data
  • Alat AI
  • Panduan Administrasi
  • Alat
  • Integrasi
  • Tutorial
  • Pertanyaan yang Sering Diajukan
  • API Reference

Mengonfigurasi Penyimpanan Pesan dengan Docker Compose atau Helm

Milvus menggunakan antrian pesan untuk mengelola log perubahan terbaru, mengeluarkan log aliran, dan menyediakan langganan log. Mulai dari Milvus 3.0.x, Woodpecker menjadi antrian pesan yang direkomendasikan secara default; topik ini menjelaskan cara mengonfigurasi Pulsar atau Kafka menggunakan Docker Compose atau Helm.

Anda dapat mengonfigurasi Pulsar dengan Docker Compose atau di K8s, serta mengonfigurasi Kafka di K8s.

Batasan Antrian Pesan: Saat melakukan upgrade ke Milvus v3.0.3, Anda harus mempertahankan pilihan antrian pesan yang saat ini digunakan. Pergantian antara sistem antrian pesan yang berbeda selama proses upgrade tidak didukung. Dukungan untuk mengganti sistem antrian pesan akan tersedia pada versi mendatang.

Mengonfigurasi Pulsar dengan Docker Compose

1. Konfigurasi Pulsar

Untuk mengonfigurasi Pulsar dengan Docker Compose, masukkan nilai-nilai Anda untuk bagian ` pulsar ` dalam berkas ` milvus.yaml ` di 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. Jalankan Milvus

Jalankan perintah berikut untuk memulai Milvus yang menggunakan konfigurasi Pulsar.

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

Konfigurasikan Pulsar dengan Helm

Untuk klaster Milvus di K8s, Anda dapat mengonfigurasi Pulsar dalam perintah yang sama yang digunakan untuk memulai Milvus. Atau, Anda dapat mengonfigurasi Pulsar menggunakan berkas ` values.yml ` di jalur `/charts/milvus` dalam repositori milvus-helm sebelum memulai Milvus.

Untuk detail tentang cara mengonfigurasi Milvus menggunakan Helm, lihat Konfigurasi Milvus dengan Helm Charts. Untuk detail tentang item konfigurasi terkait Pulsar, lihat Konfigurasi terkait Pulsar. |

Menggunakan berkas YAML

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

Konfigurasikan Woodpecker dengan Helm

Untuk klaster Milvus di K8s, Anda dapat mengonfigurasi Woodpecker dalam perintah yang sama yang digunakan untuk memulai Milvus. Atau, Anda dapat mengonfigurasi Woodpecker menggunakan berkas values.yml di jalur /charts/milvus dalam repositori milvus-helm sebelum memulai Milvus.

Untuk detail tentang cara mengonfigurasi Milvus menggunakan Helm, lihat Mengonfigurasi Milvus dengan Helm Charts. Untuk detail mengenai item konfigurasi terkait Woodpecker, lihat konfigurasi terkait Woodpecker. |

Menggunakan berkas YAML

  1. Konfigurasikan bagian ` externalConfigFiles ` dalam berkas ` 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. Setelah mengonfigurasi bagian-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

Konfigurasikan Kafka dengan Helm

Untuk kluster Milvus di K8s, Anda dapat mengonfigurasi Kafka dalam perintah yang sama saat memulai Milvus. Atau, Anda dapat mengonfigurasi Kafka menggunakan berkas values.yml di jalur /charts/milvus dalam repositori milvus-helm sebelum memulai Milvus.

Untuk detail tentang cara mengonfigurasi Milvus menggunakan Helm, lihat Mengonfigurasi Milvus dengan Helm Charts. Untuk detail tentang item konfigurasi terkait Pulsar, lihat Konfigurasi terkait Pulsar.

Menggunakan berkas YAML

  1. Konfigurasikan bagian ` externalConfigFiles ` dalam berkas ` 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 mengonfigurasi bagian-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

Konfigurasi RocksMQ dengan Helm

RocksMQ merupakan penyimpanan pesan default di Milvus standalone hingga versi 2.5.x; mulai versi 2.6.x, defaultnya adalah Woodpecker. Untuk langkah-langkah terperinci mengenai cara mengonfigurasi Milvus dengan Helm, lihat Konfigurasi Milvus dengan Helm Charts. Untuk detail mengenai item konfigurasi terkait RocksMQ, lihat Konfigurasi terkait RocksMQ.

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

  • Jika Anda telah menginstal Milvus secara mandiri menggunakan Helm dengan penyimpanan pesan selain RocksMQ dan ingin mengembalikannya ke RocksMQ, jalankan perintah ` helm upgrade -f ` dengan berkas YAML berikut setelah Anda mengosongkan 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]    

Mengganti penyimpanan pesan tidak disarankan. Jika Anda tetap ingin melakukannya, hentikan semua operasi DDL, lalu panggil API FlushAll untuk mengosongkan semua koleksi, dan akhirnya hentikan Milvus sebelum benar-benar mengganti penyimpanan pesan.

Langkah selanjutnya

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