Managed Service for Apache Spark-Instanz mit Spark-Unterstützung erstellen

Auf dieser Seite wird beschrieben, wie Sie eine Managed Service for Apache Spark-Instanz mit Spark-Unterstützung in Vertex AI Workbench erstellen. Außerdem werden die Vorteile der Managed Service for Apache Spark JupyterLab-Erweiterung beschrieben und Sie erhalten einen Überblick über die Verwendung der Erweiterung mit Managed Service for Apache Spark und Managed Service for Apache Spark in Compute Engine.

Überblick über die Managed Service for Apache Spark JupyterLab-Erweiterung

Auf Vertex AI Workbench-Instanzen ist die Managed Service for Apache Spark JupyterLab-Erweiterung ab Version M113 vorinstalliert.

Die Managed Service for Apache Spark JupyterLab-Erweiterung bietet zwei Möglichkeiten zum Ausführen von Apache Spark-Notebook-Jobs: Managed Service for Apache Spark-Cluster und Managed Service for Apache Spark.

  • Managed Service for Apache Spark-Cluster bieten eine Vielzahl von Funktionen mit Kontrolle über die Infrastruktur, auf der Spark ausgeführt wird. Sie wählen die Größe und Konfiguration Ihres Spark-Clusters aus und können so Ihre Umgebung anpassen und steuern. Dieser Ansatz ist ideal für komplexe Arbeitslasten, Jobs mit langer Laufzeit und eine detaillierte Ressourcenverwaltung.
  • Bei Managed Service for Apache Spark müssen Sie sich keine Gedanken um die Infrastruktur machen. Sie senden Ihre Spark-Jobs und Google übernimmt die Bereitstellung, Skalierung und Optimierung der Ressourcen im Hintergrund. Dieser serverlose Ansatz ist eine kostengünstige Option für Data-Science- und ML-Arbeitslasten.

Mit beiden Optionen können Sie Spark für die Datenverarbeitung und -analyse verwenden. Die Wahl zwischen Managed Service for Apache Spark-Clustern und Managed Service for Apache Spark hängt von Ihren spezifischen Arbeitslastanforderungen, dem erforderlichen Maß an Kontrolle und den Ressourcennutzungsmustern ab.

Die Verwendung von Managed Service for Apache Spark für Data-Science- und ML-Arbeitslasten bietet folgende Vorteile:

  • Keine Clusterverwaltung: Sie müssen sich nicht um die Bereitstellung, Konfiguration oder Verwaltung von Spark-Clustern kümmern. Das spart Zeit und Ressourcen.
  • Autoscaling: Managed Service for Apache Spark wird automatisch je nach Arbeitslast hoch und herunterskaliert, sodass Sie nur für die tatsächlich genutzten Ressourcen zahlen.
  • Hohe Leistung: Managed Service for Apache Spark ist auf Leistung ausgelegt und nutzt die Infrastruktur von Google Cloud's
  • Einbindung in andere Google Cloud Technologien: Managed Service for Apache Spark kann in andere Google Cloud Produkte wie BigQuery und Knowledge Catalog eingebunden werden.

Weitere Informationen finden Sie in der Dokumentation zu Managed Service for Apache Spark.

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistung unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Enable the Cloud Resource Manager, Managed Service for Apache Spark, and Notebooks APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Enable the Cloud Resource Manager, Managed Service for Apache Spark, and Notebooks APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

Erforderliche Rollen

Bitten Sie Ihren Administrator, dem Dienstkonto die folgenden IAM-Rollen zu gewähren, damit das Dienstkonto die erforderlichen Berechtigungen zum Ausführen einer Notebook-Datei auf einem Managed Service for Apache Spark-Cluster oder einem Managed Service for Apache Spark-Cluster hat:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Ausführen einer Notebook-Datei auf einem Managed Service for Apache Spark-Cluster oder einem Managed Service for Apache Spark-Cluster erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen , um die notwendigen Berechtigungen anzuzeigen, die erforderlich sind:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um eine Notebook-Datei auf einem Managed Service for Apache Spark-Cluster oder einem Managed Service for Apache Spark-Cluster auszuführen:

  • dataproc.agents.create
  • dataproc.agents.delete
  • dataproc.agents.get
  • dataproc.agents.update
  • dataproc.tasks.lease
  • dataproc.tasks.listInvalidatedLeases
  • dataproc.tasks.reportStatus
  • dataproc.clusters.use

Ihr Administrator kann dem Dienstkonto möglicherweise auch diese Berechtigungen mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erteilen.

Instanz mit aktiviertem Managed Service for Apache Spark erstellen

So erstellen Sie eine Vertex AI Workbench-Instanz mit aktiviertem Managed Service for Apache Spark:

  1. Rufen Sie in der Google Cloud Console die Seite Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. Klicken Sie auf  NEU ERSTELLEN.

  3. Klicken Sie im Dialogfeld Neue Instanz auf Erweiterte Optionen.

  4. Achten Sie im Dialogfeld Instanz erstellen im Abschnitt Details darauf, dass Serverlose interaktive Dataproc-Sitzungen aktivieren ausgewählt ist.

  5. Achten Sie darauf, dass der Workbench-Typ auf Instanz festgelegt ist.

  6. Achten Sie darauf, dass Sie im Abschnitt Umgebung die neueste Version oder eine Versionsnummer von M113 oder höher verwenden.

  7. Klicken Sie auf Erstellen.

    Vertex AI Workbench erstellt eine Instanz und startet sie automatisch. Sobald die Instanz einsatzbereit ist, aktiviert Vertex AI Workbench den Link JupyterLab öffnen.

JupyterLab öffnen

Klicken Sie neben dem Namen Ihrer Instanz auf JupyterLab öffnen.

Der Tab Launcher von JupyterLab wird in Ihrem Browser geöffnet. Standardmäßig enthält er Abschnitte für Managed Service for Apache Spark-Notebooks und Managed Service for Apache Spark-Jobs und -Sitzungen. Wenn im ausgewählten Projekt und in der ausgewählten Region Jupyter-fähige Cluster vorhanden sind, wird ein Abschnitt mit dem Namen Managed Service for Apache Spark-Cluster-Notebooks angezeigt.

Erweiterung mit Managed Service for Apache Spark verwenden

Serverless Spark-Laufzeitvorlagen, die sich in derselben Region und demselben Projekt wie Ihre Vertex AI Workbench-Instanz befinden, werden im Abschnitt Managed Service for Apache Spark-Notebooks des Tabs Launcher von JupyterLab angezeigt.

Informationen zum Erstellen einer Laufzeitvorlage finden Sie unter Managed Service for Apache Spark Laufzeitvorlage erstellen.

Klicken Sie zum Öffnen eines neuen serverlosen Spark-Notebooks auf eine Laufzeitvorlage. Es dauert etwa eine Minute, bis der Remote-Spark-Kernel gestartet wird. Nach dem Start des Kernels können Sie mit dem Programmieren beginnen.

Erweiterung mit Managed Service for Apache Spark in Compute Engine verwenden

Wenn Sie einen Managed Service for Apache Spark in Compute Engine Jupyter-Cluster erstellt haben, enthält der Tab Launcher den Abschnitt Managed Service for Apache Spark-Cluster-Notebooks.

Für jeden Jupyter-fähigen Managed Service for Apache Spark-Cluster, auf den Sie in dieser Region und in diesem Projekt Zugriff haben, werden vier Karten angezeigt.

So ändern Sie die Region und das Projekt:

  1. Wählen Sie Einstellungen > Cloud Managed Service for Apache Spark-Einstellungen aus.

  2. Ändern Sie auf dem Tab Einrichtungskonfiguration unter Projektinformationen die Projekt-ID und die Region und klicken Sie dann auf Speichern.

    Diese Änderungen werden erst wirksam, wenn Sie JupyterLab neu starten.

  3. Wenn Sie JupyterLab neu starten möchten, wählen Sie Datei > Herunterfahren aus und klicken Sie dann auf JupyterLab öffnen auf der Seite Vertex AI Workbench-Instanzen.

Klicken Sie auf eine Karte, um ein neues Notebook zu erstellen. Nachdem der Remote-Kernel im Managed Service for Apache Spark-Cluster gestartet wurde, können Sie mit dem Schreiben des Codes beginnen und ihn dann in Ihrem Cluster ausführen.

Managed Service for Apache Spark auf einer Instanz mit der gcloud CLI und der API verwalten

In diesem Abschnitt werden Möglichkeiten zum Verwalten von Managed Service for Apache Spark auf einer Vertex AI Workbench-Instanz beschrieben.

Region Ihres Managed Service for Apache Spark-Clusters ändern

Die Standardkernel Ihrer Vertex AI Workbench-Instanz, z. B. Python und TensorFlow, sind lokale Kernel, die in der VM der Instanz ausgeführt werden. Auf einer Managed Service for Apache Spark-Instanz mit Spark-Unterstützung in Vertex AI Workbench wird Ihr Notebook über einen Remote-Kernel in einem Managed Service for Apache Spark-Cluster ausgeführt. Der Remote-Kernel wird in einem Dienst außerhalb der VM Ihrer Instanz ausgeführt. So können Sie auf jeden Managed Service for Apache Spark-Cluster im selben Projekt zugreifen.

Standardmäßig verwendet Vertex AI Workbench Managed Service for Apache Spark-Cluster in derselben Region wie Ihre Instanz. Sie können die Managed Service for Apache Spark Region jedoch ändern, solange das Komponentengateway und die optionale Jupyter-Komponente im Managed Service for Apache Spark-Cluster aktiviert sind.

Testzugriff

Die Managed Service for Apache Spark JupyterLab-Erweiterung ist standardmäßig für Vertex AI Workbench-Instanzen aktiviert. Wenn Sie den Zugriff auf Managed Service for Apache Spark testen möchten, können Sie den Zugriff auf die Remote-Kernel Ihrer Instanz prüfen, indem Sie die folgende curl-Anfrage an die Domain kernels.googleusercontent.com senden:

curl --verbose -H "Authorization: Bearer $(gcloud auth print-access-token)" https://PROJECT_ID-dot-REGION.kernels.googleusercontent.com/api/kernelspecs | jq .

Wenn der curl-Befehl fehlschlägt, prüfen Sie Folgendes:

  1. Ihre DNS-Einträge sind korrekt konfiguriert.

  2. Im selben Projekt ist ein Cluster verfügbar (oder Sie müssen einen erstellen, falls er nicht vorhanden ist).

  3. In Ihrem Cluster sind sowohl das Komponentengateway als auch die optionale Jupyter-Komponente aktiviert.

Managed Service for Apache Spark deaktivieren

Vertex AI Workbench-Instanzen werden standardmäßig mit aktiviertem Managed Service for Apache Spark erstellt. Sie können eine Vertex AI Workbench-Instanz mit deaktiviertem Managed Service for Apache Spark erstellen. Setzen Sie dazu den metadata-Schlüssel disable-mixer auf true.

gcloud workbench instances create INSTANCE_NAME --metadata=disable-mixer=true

Managed Service for Apache Spark aktivieren

Sie können Managed Service for Apache Spark auf einer angehaltenen Vertex AI Workbench-Instanz aktivieren, indem Sie den Metadatenwert aktualisieren.

gcloud workbench instances update INSTANCE_NAME --metadata=disable-mixer=false

Managed Service for Apache Spark mit Terraform verwalten

Managed Service for Apache Spark für Vertex AI Workbench-Instanzen in Terraform werden mit dem Schlüssel disable-mixer im Metadatenfeld verwaltet. Aktivieren Sie Managed Service for Apache Spark, indem Sie den metadata-Schlüssel disable-mixer auf false setzen. Deaktivieren Sie Managed Service for Apache Spark, indem Sie den Metadatenschlüssel disable-mixer auf true setzen.

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

resource "google_workbench_instance" "default" {
  name     = "workbench-instance-example"
  location = "us-central1-a"

  gce_setup {
    machine_type = "n1-standard-1"
    vm_image {
      project = "cloud-notebooks-managed"
      family  = "workbench-instances"
    }
    metadata = {
      disable-mixer = "false"
    }
  }
}

Fehlerbehebung

Informationen zur Diagnose und Behebung von Problemen im Zusammenhang mit dem Erstellen einer Managed Service for Apache Spark-Instanz mit Spark-Unterstützung finden Sie unter Fehlerbehebung bei Vertex AI Workbench.

Nächste Schritte