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

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.

  1. 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
    
  2. Öffnen Sie die kopierte Datei „ milvus.yaml “ mit Ihrem bevorzugten Texteditor. Beispielsweise mit „vim“:

    vim milvus.yaml
    
  3. Bearbeiten 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.
  4. 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.yaml
    
  5. Starten 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:

Übersetzt vonDeepL

Office Hours

Milvus Bürozeiten

Holen Sie sich Hilfe bei der Produktionsbereitstellung von Zilliz, den Experten für Milvus.

Buchen Sie eine kostenlose 1:1-Sitzung

Verwaltetes Milvus kostenlos testen

Zilliz Cloud ist unkompliziert, basiert auf Milvus und ist 10-mal schneller.

Loslegen
Feedback

War diese Seite hilfreich?