In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
- Dataproc
- Compute Engine
- Cloud Scheduler
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Hinweis
Projekt einrichten
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataproc, Compute Engine, and Cloud Scheduler APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataproc, Compute Engine, and Cloud Scheduler APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Benutzerdefinierte Rolle erstellen
- Öffnen Sie in der Google Cloud Console die Seite IAM &Verwaltung → Rollen.
- Klicken Sie auf ROLLE ERSTELLEN, um die Seite Rolle erstellen zu öffnen.
- Füllen Sie die Felder "Titel", "Beschreibung", "ID" und "Startphase" aus. Vorschlag: Verwenden Sie "Dataproc-Workflow-Vorlage erstellen" als Rollentitel.
- Klicke auf „BERECHTIGUNGEN HINZUFÜGEN“.
- Klicken Sie im Formular Berechtigungen hinzufügen auf Filter und wählen Sie dann "Berechtigung" aus. Schließen Sie den Filter ab, um "Berechtigung: dataproc.workflowTemplates.instantiate" zu lesen.
- Klicke auf das Kästchen links neben der aufgeführten Berechtigung und dann auf „HINZUFÜGEN“.
- Klicken Sie auf der Seite "Rolle erstellen" noch einmal auf PERMISSIONS HINZUFÜGEN, um die vorherigen Unterschritte zu wiederholen und der benutzerdefinierten Rolle die Berechtigung "iam.serviceAccounts.actAs" hinzuzufügen. Auf der Seite Rolle erstellen werden jetzt zwei Berechtigungen aufgeführt.
- Klicken Sie auf der Seite Benutzerdefinierte Rolle auf ERSTELLEN. Die benutzerdefinierte Rolle wird auf der Seite Rollen aufgeführt.
Dienstkonto erstellen
Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf.
Wählen Sie Ihr Projekt aus.
Klicken Sie auf
Dienstkonto erstellen.Geben Sie im Feld Name des Dienstkontos den Namen
workflow-scheduler
ein. In der Google Cloud Console wird das Feld Dienstkonto-ID anhand dieses Namens ausgefüllt.Optional: Im Feld Beschreibung des Dienstkontos können Sie eine entsprechende Beschreibung eingeben.
Klicken Sie auf Erstellen und fortfahren.
Klicken Sie auf das Feld Rolle auswählen und wählen Sie die benutzerdefinierte Rolle Dataproc Workflow Template Create aus, die Sie im vorherigen Schritt erstellt haben.
Klicken Sie auf Weiter.
Geben Sie im Feld Rolle „Dienstkontoadministrator“ die E-Mail-Adresse Ihres Google-Kontos ein.
Klicken Sie auf Fertig, um das Erstellen des Dienstkontos abzuschließen.
Workflow-Vorlage erstellen
Kopieren Sie die unten aufgeführten Befehle und führen Sie sie in einem lokalen Terminalfenster oder in Cloud Shell aus, um eine Workflow-Vorlage zu erstellen und zu definieren.
Hinweise:
- Die Befehle geben die Region "us-central1" an. Sie können eine andere Region angeben oder das Flag
--region
löschen, wenn Sie zuvorgcloud config set compute/region
ausgeführt haben, um das Regionsattribut festzulegen. - Die Sequenz "--" (Bindestrich-Bindestrich-Leerzeichen) im Befehl
add-job
übergibt das Argument1000
an den SparkPi-Job, der die Anzahl der Stichproben angibt, die zur Schätzung des Werts von Pi verwendet werden.
- Erstellen Sie die Workflow-Vorlage.
gcloud dataproc workflow-templates create sparkpi \ --region=us-central1
- Fügen Sie der Workflow-Vorlage den Spark-Job hinzu. Die Schritt-ID "compute" ist erforderlich und identifiziert den hinzugefügten SparkPi-Job.
gcloud dataproc workflow-templates add-job spark \ --workflow-template=sparkpi \ --step-id=compute \ --class=org.apache.spark.examples.SparkPi \ --jars=file:///usr/lib/spark/examples/jars/spark-examples.jar \ --region=us-central1 \ -- 1000
- Führen Sie den Workflow mit einem verwalteten Einzelknoten aus. Dataproc erstellt den Cluster, führt den Workflow aus und löscht den Cluster, wenn der Workflow abgeschlossen ist.
gcloud dataproc workflow-templates set-managed-cluster sparkpi \ --cluster-name=sparkpi \ --single-node \ --region=us-central1
- Klicken Sie in der Google Cloud Console auf der Dataproc-Seite Workflows auf den Namen
sparkpi
, um die Seite Workflow-Vorlagendetails zu öffnen. Bestätigen Sie die Attribute der SparkPi-Vorlage.
Cloud Scheduler-Job erstellen
Öffnen Sie in der Google Cloud Console die Seite Cloud Scheduler. Möglicherweise müssen Sie Ihr Projekt auswählen, um die Seite zu öffnen. Klicken Sie auf Job ERSTELLEN.
Geben Sie die folgenden Jobinformationen ein oder wählen Sie diese aus:
- Region auswählen: "us-central" oder eine andere Region, in der Sie Ihre Workflow-Vorlage erstellt haben
- Name: "sparkpi"
- Häufigkeit: Mit "* * * * *" wird jede Minute ausgewählt. "0 9 * * 1" wählt jeden Montag um 9 Uhr aus. Weitere Informationen zu anderen unix-cron-Werten finden Sie unter Jobzeitplan definieren. Hinweis: Sie können in der Google Cloud Console auf Cloud Jobs in der Cloud Console auf die Schaltfläche JETZT AUSFÜHREN klicken, um den Job unabhängig von der Häufigkeit, die Sie für den Job festlegen, auszuführen und zu testen.
- Zeitzone: Wählen Sie Ihre timezone aus. Geben Sie "USA" ein, um die US-Zeitzonen aufzulisten.
- Ziel: „HTTP“
- URL: Fügen Sie nach dem Einfügen von your-project-id die folgende URL ein. Ersetzen Sie "us-central1", wenn Sie Ihre Workflow-Vorlage in einer anderen Region erstellt haben. Diese URL ruft die Dataproc API
workflowTemplates.instantiate
auf, um Ihre Sparkpi-Workflow-Vorlage auszuführen.https://dataproc.googleapis.com/v1/projects/your-project-id/regions/us-central1/workflowTemplates/sparkpi:instantiate?alt=json
- HTTP-Methode:
- "POST"
- Body:
- Auth-Header:
- "Add OAuth token"
- Dienstkonto: Fügen Sie den service account address des Dienstkontos ein, das Sie für diese Anleitung erstellt haben.
Sie können die folgende Kontoadresse nach dem Einfügen von your-project-id verwenden:
workflow-scheduler@your-project-id.iam.gserviceaccount
- Bereich: Sie können dieses Element ignorieren.
- Klicken Sie auf ERSTELLEN.
Geplanten Workflow-Job testen
Klicken Sie in der Jobzeile
sparkpi
auf der Seite Cloud Scheduler-Jobs auf JETZT AUSFÜHREN.Warten Sie einige Minuten und öffnen Sie dann die Dataproc-Seite Workflows, um zu prüfen, ob der Spark-Workflow abgeschlossen ist.
Nachdem der Workflow den verwalteten Cluster gelöscht hat, bleiben die Jobdetails in der Google Cloud Console bestehen. Klicken Sie auf den
compute...
-Job, der auf der Dataproc-Seite Jobs aufgeführt ist, um Details zum Workflow-Job anzuzeigen.
Bereinigen
Der Workflow in dieser Anleitung löscht den verwalteten Cluster, wenn der Workflow abgeschlossen ist. Wenn Sie den Workflow beibehalten, können Sie den Workflow noch einmal ausführen und es fallen keine Gebühren an. Sie können andere in dieser Anleitung erstellte Ressourcen löschen, um wiederkehrende Kosten zu vermeiden.
Ein Projekt löschen
- Alle Inhalte des Projekts werden gelöscht. Wenn Sie für die Aufgaben in diesem Dokument ein bereits bestehendes Projekt verwendet haben und dieses löschen, werden auch alle anderen im Rahmen des Projekts erstellten Daten gelöscht.
-
Benutzerdefinierte Projekt-IDs gehen verloren.
Beim Erstellen dieses Projekts haben Sie möglicherweise eine benutzerdefinierte Projekt-ID erstellt, die Sie weiterhin verwenden möchten. Damit die URLs, die die Projekt-ID nutzen, z. B. eine
appspot.com
-URL, erhalten bleiben, sollten Sie ausgewählte Ressourcen innerhalb des Projekts löschen, statt das gesamte Projekt. - In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Wenn Sie mehrere Architekturen, Anleitungen und Kurzanleitungen durcharbeiten möchten, können Sie die Überschreitung von Projektkontingenten verhindern, indem Sie Projekte wiederverwenden.
Workflow-Vorlage löschen
gcloud dataproc workflow-templates delete sparkpi \ --region=us-central1
Cloud Scheduler-Job löschen
Rufen Sie in der Google Cloud Console die Seite Cloud Scheduler Jobs auf, klicken Sie auf das Kästchen links neben der Funktion sparkpi
und klicken Sie dann auf LÖSCHEN.
Dienstkonto löschen
Rufen Sie in der Google Cloud Console die Seite IAM &Verwaltung → Dienstkonten auf, klicken Sie auf das Kästchen links neben dem Dienstkonto workflow-scheduler...
und dann auf „LÖSCHEN“.
Weitere Informationen