Auf dieser Seite wird erläutert, wie Sie mit dem gcloud-Befehlszeilentool des Google Cloud CLI gcloud einen Managed Service for Apache Spark-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 in Cluster mit der Google Cloud console erstellen, und in den Clientbibliotheken unter Cluster mit Clientbibliotheken erstellen.
Hinweis
- Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Konto bei Google Cloudhaben, erstellen Sie ein Konto, um die Leistungsfähigkeit 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.
-
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 den Namen Ihres Google Cloud Projekts.
-
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 den Namen Ihres Google Cloud Projekts.
-
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 Rollen zugewiesen werden?.
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 Managed Service for Apache Spark-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 Managed Service for Apache Spark-Clusters hat,
bitten Sie Ihren Administrator, dem
Dataproc-Worker (roles/dataproc.worker)
IAM-Rolle für das Projekt zuzuweisen.
Cluster erstellen
Führen Sie den folgenden
gcloud Managed Service for Apache Spark 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
Um einen Spark-Beispieljob zu senden, der einen ungefähren Wert für pi berechnet, führen Sie den
folgenden
Befehl gcloud Managed Service for Apache Spark jobs submit spark aus:
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 in
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 reduzieren:
gcloud dataproc clusters update example-cluster \ --region=REGION \ --num-workers 2
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud Konto für die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:
- Führen Sie den
clusters deleteBefehl aus, um dasexample-clusterzu löschen:gcloud dataproc clusters delete example-cluster \ --region=REGION
Nächste Schritte
- Informationen zum Schreiben und Ausführen eines Spark Scala-Jobs