Milvus mit GPU-Unterstützung über Docker Compose ausführen
Auf dieser Seite wird erläutert, wie Sie eine Milvus-Instanz mit GPU-Unterstützung mithilfe von Docker Compose starten.
Voraussetzungen
- Installieren Sie Docker.
- Überprüfen Sie vor der Installationdie Hardware- und Softwareanforderungen.
Sollten beim Abrufen des Images Probleme auftreten, kontaktieren Sie uns bitte unter community@zilliz.com mit detaillierten Angaben zum Problem, damit wir Ihnen die erforderliche Unterstützung leisten können.
Milvus installieren
Befolgen Sie diese Schritte, um Milvus mit GPU-Unterstützung mithilfe von Docker Compose zu installieren.
1. Laden Sie die YAML-Datei herunter und konfigurieren Sie sie
Laden Sie milvus-standalone-docker-compose-gpu.yml und speichern Sie sie manuell oder mit dem folgenden Befehl als „docker-compose.yml“.
$ wget https://github.com/milvus-io/milvus/releases/download/v3.0.0/milvus-standalone-docker-compose-gpu.yml -O docker-compose.yml
Sie müssen einige Änderungen an den Umgebungsvariablen des eigenständigen Dienstes in der YAML-Datei wie folgt vornehmen:
- Um Milvus ein bestimmtes GPU-Gerät zuzuweisen, suchen Sie das Feld „
deploy.resources.reservations.devices[0].devices_ids“ in der Definition des Dienstes „standalone“ und ersetzen Sie dessen Wert durch die ID der gewünschten GPU. Mit dem Tool „nvidia-smi“, das im Lieferumfang der NVIDIA-GPU-Grafiktreiber enthalten ist, können Sie die ID eines GPU-Geräts ermitteln. Milvus unterstützt mehrere GPU-Geräte.
Ein einzelnes GPU-Gerät Milvus zuweisen:
...
standalone:
...
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: ["gpu"]
device_ids: ["0"]
...
Weisen Sie Milvus mehrere GPU-Geräte zu:
...
standalone:
...
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: ["gpu"]
device_ids: ['0', '1']
...
2. Milvus starten
Starten Sie Milvus in dem Verzeichnis, in dem sich die Datei `docker-compose.yml` befindet, mit folgendem Befehl:
$ sudo docker compose up -d
Creating milvus-etcd ... done
Creating milvus-minio ... done
Creating milvus-standalone ... done
Falls die Ausführung des obigen Befehls fehlschlägt, überprüfen Sie, ob auf Ihrem System Docker Compose V1 installiert ist. Ist dies der Fall, wird aufgrund der Hinweise auf dieser Seite empfohlen, auf Docker Compose V2 umzusteigen.
Nach dem Start von Milvus
- sind die Container mit den Namen „milvus-standalone“, „milvus-minio“ und „milvus-etcd“ aktiv.
- Der Container „milvus-etcd“ stellt keine Ports für den Host bereit und ordnet seine Daten dem Verzeichnis „volumes/etcd“ im aktuellen Ordner zu.
- Der Container „milvus-minio“ stellt lokal die Ports 9090 und 9091 mit den Standard-Anmeldedaten bereit und ordnet seine Daten dem Verzeichnis „volumes/minio“ im aktuellen Ordner zu.
- Der Container „milvus-standalone“ stellt lokal die Ports 19530 mit den Standardeinstellungen bereit und ordnet seine Daten dem Verzeichnis „volumes/milvus“ im aktuellen Ordner zu.
Mit dem folgenden Befehl können Sie überprüfen, ob die Container aktiv sind:
$ sudo docker compose ps
Name Command State Ports
--------------------------------------------------------------------------------------------------------------------
milvus-etcd etcd -advertise-client-url ... Up 2379/tcp, 2380/tcp
milvus-minio /usr/bin/docker-entrypoint ... Up (healthy) 9000/tcp
milvus-standalone /tini -- milvus run standalone Up 0.0.0.0:19530->19530/tcp, 0.0.0.0:9091->9091/tcp
Sie können auch über http://127.0.0.1:9091/webui/ auf die Milvus-WebUI zugreifen, um mehr über Ihre Milvus-Instanz zu erfahren. Weitere Informationen finden Sie unter Milvus-WebUI.
Wenn Sie Milvus in der Datei „docker-compose.yml“ mehrere GPU-Geräte zugewiesen haben, können Sie festlegen, welches GPU-Gerät sichtbar oder zur Nutzung verfügbar ist.
Machen Sie das GPU-Gerät „ 0 “ für Milvus sichtbar:
$ CUDA_VISIBLE_DEVICES=0 ./milvus run standalone
Machen Sie die GPU-Geräte „ 0 “ und „ 1 “ für Milvus sichtbar:
$ CUDA_VISIBLE_DEVICES=0,1 ./milvus run standalone
Sie können diesen Container wie folgt anhalten und löschen.
# Stop Milvus
$ sudo docker compose down
# Delete service data
$ sudo rm -rf volumes
Speicherpool konfigurieren
Nachdem Milvus gestartet ist, können Sie den Speicherpool anpassen, indem Sie die Einstellungen „ initMemSize “ und „ maxMemSize “ in der Datei „ milvus.yaml “ ändern.
Die Datei „ milvus.yaml “ befindet sich im Verzeichnis „ /milvus/configs/ “ innerhalb des Milvus-Containers.
Um den Speicherpool zu konfigurieren, ändern Sie die Einstellungen „ initMemSize “ und „ maxMemSize “ in der Datei „ milvus.yaml “ wie folgt.
Verwenden Sie den folgenden Befehl, um die Datei „
milvus.yaml“ aus dem Milvus-Container auf Ihren lokalen Rechner zu kopieren. Ersetzen Sie „<milvus_container_id>“ durch die tatsächliche ID Ihres Milvus-Containers.docker cp <milvus_container_id>:/milvus/configs/milvus.yaml milvus.yamlÖffnen Sie die kopierte Datei „
milvus.yaml“ mit Ihrem bevorzugten Texteditor. Beispielsweise mit „vim“:vim milvus.yamlBearbeiten Sie die Einstellungen „
initMemSize“ und „maxMemSize“ nach Bedarf und speichern Sie Ihre Änderungen:... gpu: initMemSize: 0 maxMemSize: 0 ...initMemSize: Anfangsgröße des Speicherpools. Der Standardwert ist 1024.maxMemSize: Maximale Größe des Speicherpools. Der Standardwert beträgt 2048.
Verwenden Sie den folgenden Befehl, um die geänderte Datei „
milvus.yaml“ zurück in den Milvus-Container zu kopieren. Ersetzen Sie „<milvus_container_id>“ durch die tatsächliche ID Ihres Milvus-Containers.docker cp milvus.yaml <milvus_container_id>:/milvus/configs/milvus.yamlStarten Sie den Milvus-Container neu, um die Änderungen zu übernehmen:
docker stop <milvus_container_id> docker start <milvus_container_id>
Storage V3 ist standardmäßig deaktiviert. Aktivieren Sie es, bevor Sie Funktionen nutzen, die davon abhängen. Informationen zu Anforderungen und Kompatibilitätsaspekten finden Sie unter „Storage V3“.
Was nun folgt
Nachdem Sie Milvus in Docker installiert haben, können Sie:
Lesen Sie den Schnellstart, um zu erfahren, was Milvus leisten kann.
Schauen Sie sich die Milvus-WebUI an, um mehr über die Milvus-Instanz zu erfahren.
Lernen Sie die grundlegenden Funktionen von Milvus kennen:
Stellen Sie Ihren Milvus-Cluster in folgenden Clouds bereit:
Entdecken Sie Milvus WebUI, eine intuitive Weboberfläche für die Überwachung und Verwaltung von Milvus.
Entdecken Sie Milvus Backup, ein Open-Source-Tool für Milvus-Datensicherungen.
Entdecken Sie Birdwatcher, ein Open-Source-Tool zur Fehlerbehebung in Milvus und für dynamische Konfigurationsaktualisierungen.
Entdecken Sie Attu, ein Open-Source-GUI-Tool für die intuitive Verwaltung von Milvus.