Auf dieser Seite wird erläutert, wie Sie mit dem gcloud-Befehlszeilentool der Google Cloud CLI gcloud einen Dataproc-Cluster erstellen, einen Apache Spark-Job im Cluster ausführen und dann die Anzahl der Worker im Cluster ändern.
Wie Sie dieselben oder ähnliche Aufgaben ausführen können, finden Sie in den Kurzanleitungen für den Start mit dem API Explorer, der Google Cloud console unter Dataproc-Cluster mit der Google Cloud console erstellen, und in den Clientbibliotheken unter Dataproc-Cluster mit Clientbibliotheken erstellen.
Hinweis
- Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Google Cloud-Kunde sind, erstellen Sie ein Konto, um zu prüfen, wie sich unsere Produkte in realen Szenarien bewähren. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Erstellen Sie ein neues Projekt oder wählen Sie ein vorhandenes Projekt Google Cloud aus.
Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können ein beliebiges Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“
(
roles/resourcemanager.projectCreator), die dieresourcemanager.projects.createBerechtigung enthält. Informationen zum Zuweisen von Rollen.
-
Erstellen Sie ein Google Cloud Projekt:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Google Cloud Projekt, das Sie erstellen. -
Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch Ihren Google Cloud Projektnamen.
-
Prüfen Sie, ob Sie die Berechtigungen haben, die für diese Anleitung erforderlich sind.
-
Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.
Aktivieren Sie die Dataproc API:
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Informationen zum Zuweisen von Rollen.gcloud services enable dataproc.googleapis.com
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Erstellen Sie ein neues Projekt oder wählen Sie ein vorhandenes Projekt Google Cloud aus.
Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können ein beliebiges Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“
(
roles/resourcemanager.projectCreator), die dieresourcemanager.projects.createBerechtigung enthält. Informationen zum Zuweisen von Rollen.
-
Erstellen Sie ein Google Cloud Projekt:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Google Cloud Projekt, das Sie erstellen. -
Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch Ihren Google Cloud Projektnamen.
-
Prüfen Sie, ob Sie die Berechtigungen haben, die für diese Anleitung erforderlich sind.
-
Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.
Aktivieren Sie die Dataproc API:
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Informationen zum Zuweisen von Rollen.gcloud services enable dataproc.googleapis.com
Erforderliche Rollen
Bestimmte IAM-Rollen sind erforderlich, um die Beispiele auf dieser Seite auszuführen. Je nach Organisationsrichtlinien wurden diese Rollen möglicherweise bereits gewährt. Informationen zum Prüfen von Rollenzuweisungen finden Sie unter Müssen Sie Rollen zuweisen?.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Nutzerrollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Dataproc-Clusters benötigen:
-
Dataproc-Bearbeiter (
roles/dataproc.editor) für das Projekt -
Dienstkontonutzer (
roles/iam.serviceAccountUser) für das Compute Engine-Standarddienstkonto
Dienstkontorolle
Damit das Compute Engine-Standarddienstkonto die erforderlichen
Berechtigungen zum Erstellen eines Dataproc-Clusters hat,
bitten Sie Ihren Administrator, dem
Dataproc-Worker (roles/dataproc.worker)
IAM-Rolle für das Compute Engine-Standarddienstkonto für das Projekt zuzuweisen.
Cluster erstellen
Führen Sie den folgenden
gcloud Dataproc clusters create Befehl aus, um einen Cluster mit dem Namen example-cluster zu erstellen:
gcloud dataproc clusters create example-cluster --region=REGION
Ersetzen Sie Folgendes:
REGION: Geben Sie eine Region an, in der sich der Cluster befinden soll.
Job senden
Führen Sie den
folgenden
Befehl `gcloud Dataproc jobs submit spark` aus, um einen Beispiel-Spark-Job zu senden, der einen ungefähren Wert für piberechnet:
gcloud dataproc jobs submit spark --cluster example-cluster \ --region=REGION \ --class org.apache.spark.examples.SparkPi \ --jars file:///usr/lib/spark/examples/jars/spark-examples.jar -- 1000
Hinweise:
Ersetzen Sie Folgendes:
REGION: Geben Sie die Clusterregion an.
- Der Job wird im
example-clusterausgeführt. - Die
classenthält die Hauptmethode für SparkPi, die einen ungefähren Wert vonpiberechnet. auszuführen. - Die JAR-Datei enthält den Jobcode.
1000ist ein Jobparameter. Er gibt die Anzahl der Aufgaben (Iterationen) an, die der Job ausführt, um den Wert vonpizu berechnen.
Die aktuelle bzw. endgültige Ausgabe des Jobs wird im Terminalfenster angezeigt:
Waiting for job output... ... Pi is roughly 3.14118528 ... Job finished successfully.
Cluster aktualisieren
Um die Anzahl der Worker im Cluster auf fünf zu ändern, führen Sie den folgenden Befehl aus:
gcloud dataproc clusters update example-cluster \ --region=REGION \ --num-workers 5
Die Befehlsausgabe enthält Clusterdetails:
workerConfig: ... instanceNames: - example-cluster-w-0 - example-cluster-w-1 - example-cluster-w-2 - example-cluster-w-3 - example-cluster-w-4 numInstances: 5 statusHistory: ... - detail: Add 3 workers.
Führen Sie den folgenden Befehl aus, um die Anzahl der Worker-Knoten auf den ursprünglichen Wert von 2 zu verringern:
gcloud dataproc clusters update example-cluster \ --region=REGION \ --num-workers 2
Bereinigen
So vermeiden Sie, dass Ihnen die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden: Google Cloud
- Führen Sie den
clusters deleteBefehl aus, um denexample-clusterzu löschen:gcloud dataproc clusters delete example-cluster \ --region=REGION
Nächste Schritte
- Informationen zum Schreiben und Ausführen eines Spark-Scala-Jobs.