Wechsel zwischen RocksMQ und Woodpecker
Auf dieser Seite wird beschrieben, wie Sie die Nachrichtenwarteschlange (MQ) einer Milvus-Standalone-Bereitstellung (Docker Compose) in beide Richtungen zwischen RocksMQ und Woodpecker (lokales oder MinIO-Backend) wechseln können. Informationen zum allgemeinen Arbeitsablauf und zu den Voraussetzungen finden Sie unter „Nachrichtenwarteschlange wechseln“.
- Voraussetzung: Die Funktion „MQ wechseln“ ist ab Milvus 3.0 verfügbar. Aktualisieren Sie Ihre Milvus-Instanz auf Milvus 3.0 oder höher, bevor Sie beginnen – die Funktion ist in früheren Versionen nicht verfügbar.
- Für den MQ-Wechsel ist die Docker -Compose -Bereitstellung erforderlich (die eine etcd-Konfigurationsquelle ermöglicht). Die Docker-Bereitstellung mit einem einzigen Container unterstützt den Wechsel nicht.
Wechsel von RocksMQ zu Woodpecker
Schritt 1: Überprüfen Sie, ob die Milvus-Instanz läuft
Stellen Sie sicher, dass Ihre Milvus Standalone Docker Compose-Instanz ordnungsgemäß läuft – beispielsweise, indem Sie eine Testkollektion erstellen, Daten einfügen und eine Abfrage ausführen.
Schritt 2: Woodpecker-Speicher konfigurieren
Fügen Sie die Woodpecker-Einstellungen zur Milvus-Konfiguration hinzu, ohne den Wert „ mqType “ zu ändern. Führen Sie „ docker exec -it milvus-standalone bash “ aus, um den Container zu betreten, und bearbeiten Sie anschließend die Datei „ /milvus/configs/user.yaml “:
woodpecker:
storage:
type: minio # minio or local
Starten Sie die Milvus-Instanz neu, um die Konfiguration zu übernehmen:
docker compose restart
Schritt 3: MQ-Wechsel durchführen
Wenn Sie zum ersten Mal zu Woodpecker wechseln, überspringen Sie diesen Hinweis. Andernfalls bereinigen Sie vor dem erneuten Wechsel verbleibende Woodpecker-Metadaten und -Daten – verbleibende Daten können zu unerwartetem Verhalten führen.
curl -X POST http://<mixcoord_addr>:<mixcoord_port>/management/wal/alter \
-H "Content-Type: application/json" \
-d '{"target_wal_name": "woodpecker"}'
Der MixCoord-Port lautet in der Regel 9091.
Schritt 4: Überprüfen Sie, ob der Wechsel abgeschlossen ist
docker logs milvus-standalone | grep "successfully updated mq.type configuration in etcd"
Bei einem erfolgreichen Wechsel wird [mqTypeValue=woodpecker] protokolliert.
Schritt 5: (Optional) RocksMQ-Daten bereinigen
RocksMQ-Daten befinden sich in den Verzeichnissen „ volumes/milvus/rdb_data “ und „ volumes/milvus/rdb_data_meta_kv “, die unter docker-compose.yaml definiert sind. Wenn Sie später wieder zu RocksMQ zurückwechseln möchten, löschen Sie diese Dateien zunächst, um Konflikte zu vermeiden.
Wechsel von Woodpecker zu RocksMQ
Schritt 1: Überprüfen Sie, ob die Milvus-Instanz läuft
Stellen Sie sicher, dass Ihre Milvus Standalone Docker Compose-Instanz ordnungsgemäß läuft.
Schritt 2: Führen Sie den MQ-Wechsel durch
Stellen Sie sicher, dass die Instanz keine verbleibenden RocksMQ-Daten aus einem früheren Lauf enthält. Wenn Sie zum ersten Mal zu RocksMQ wechseln, überspringen Sie diesen Hinweis; andernfalls bereinigen Sie zunächst die zugehörigen RocksMQ-Metadaten und -Daten.
curl -X POST http://<mixcoord_addr>:<mixcoord_port>/management/wal/alter \
-H "Content-Type: application/json" \
-d '{"target_wal_name": "rocksmq"}'
Schritt 3: Überprüfen Sie, ob der Wechsel abgeschlossen ist
docker logs milvus-standalone | grep "successfully updated mq.type configuration in etcd"
Bei einer erfolgreichen Umstellung wird folgende Meldung protokolliert: „ [mqTypeValue=rocksmq] “.
Schritt 4: (Optional) Woodpecker-Daten bereinigen
- Metadaten (etcd): Das Schlüsselpräfix für Woodpecker lautet in der Regel
woodpecker/.... Rufen Sie es mit dem Befehletcdctl get woodpecker --prefixab und löschen Sie es anschließend. - Speicherdaten: Im MinIO-Modus löschen Sie die Protokolldaten unter „
<rootPath>/wp/...“ (in der Regel „files/wp/...“) im Bucket; im lokalen Modus befinden sich die Daten auf der lokalen Festplatte unter „volumes/milvus/data/wp/...“.
Wenn Sie später wieder zu Woodpecker wechseln möchten, löschen Sie diese Dateien zunächst, um Konflikte zu vermeiden.
Unterstützte Szenarien
| Quell-MQ | Ziel-MQ | Status | Hinweise |
|---|---|---|---|
| RocksMQ | Woodpecker (MinIO/lokal) | Unterstützt | |
| Woodpecker (MinIO/lokal) | RocksMQ | Unterstützt | |
| Woodpecker MinIO | Woodpecker lokal | Nicht unterstützt | Das Umschalten zwischen den Woodpecker-Speichermodi erfordert eine zusätzliche Metadatenverarbeitung, die derzeit noch nicht unterstützt wird. |
| Woodpecker lokal | Woodpecker MinIO | Nicht unterstützt | Wie oben. |
| RocksMQ / Woodpecker | Externer Pulsar / Kafka | Unterstützt, aber nicht empfohlen | Halten Sie eigenständige Instanzen so einfach wie möglich. |