Sie können einen Managed Service for Apache Spark-Cluster mit einem benutzerdefinierten Image erstellen, das Ihre vorinstallierten Pakete enthält. Auf dieser Seite erfahren Sie, wie Sie ein benutzerdefiniertes Image erstellen und in einem Managed Service for Apache Spark-Cluster installieren.
Überlegungen und Einschränkungen zur Nutzung
Lebensdauer benutzerdefinierter Images: Damit die Cluster die neuesten Dienstupdates und Fehlerkorrekturen erhalten, ist die Erstellung von Clustern mit einem benutzerdefinierten Image auf 365 Tage ab dem Erstellungsdatum des benutzerdefinierten Images beschränkt. Beachten Sie, dass vorhandene Cluster, die mit einem benutzerdefinierten Image erstellt wurden, unbegrenzt ausgeführt werden können.
Möglicherweise müssen Sie die Automatisierung verwenden, wenn Sie Cluster mit einem bestimmten benutzerdefinierten Image für einen Zeitraum von mehr als 365 Tagen erstellen möchten. Weitere Informationen finden Sie unter Cluster mit einem abgelaufenen benutzerdefinierten Image erstellen.
Nur Linux: Die Anleitung in diesem Dokument gilt nur für Linux-Betriebssysteme. Andere Betriebssysteme werden möglicherweise in zukünftigen Releases von Managed Service for Apache Spark unterstützt.
Unterstützte Basis-Images: Für benutzerdefinierte Image-Builds ist ein Basis-Image von Managed Service for Apache Spark erforderlich. Die folgenden Basis-Images werden unterstützt: Debian, Rocky Linux und Ubuntu.
- Verfügbarkeit von Basis-Images: Neue Images, die in den Versionshinweisen zu Managed Service for Apache Spark angekündigt werden, können erst eine Woche nach dem Ankündigungsdatum als Basis für benutzerdefinierte Images verwendet werden.
2.2und frühere Basis-Images: Standardmäßig werden alle optionalen Komponenten von Managed Service for Apache Spark (Betriebssystempakete und Konfigurationen) auf dem benutzerdefinierten Image installiert. Sie können die Versionen und Konfigurationen der Betriebssystempakete anpassen.2.3und neuere Basis-Images: Nur die ausgewählten optionalen Komponenten werden auf dem benutzerdefinierten Image installiert (siehe Flaggenerate_custom_image.py--optional-components).Unabhängig vom Basis-Image, das für Ihr benutzerdefiniertes Image verwendet wird, müssen Sie beim Erstellen des Clusters optionale Komponenten auflisten oder auswählen.
Beispiel: Google Cloud CLI-Befehl zum Erstellen eines Clusters:
gcloud dataproc clusters create CLUSTER_NAME --image=CUSTOM_IMAGE_URI \ --optional-components=COMPONENT_NAME \ ... other flags
Wenn der Komponentenname beim Erstellen des Clusters nicht angegeben wird, wird die optionale Komponente, einschließlich aller benutzerdefinierten Betriebssystempakete und -konfigurationen, gelöscht.
Gehostete benutzerdefinierte Images verwenden: Wenn Sie ein benutzerdefiniertes Image verwenden, das in einem anderen Projekt gehostet wird, muss das Dienstkonto des Dienst-Agents von Managed Service for Apache Spark in Ihrem Projekt die Berechtigung
compute.images.getfür das Image im Hostprojekt haben. Sie können diese Berechtigung erteilen, indem Sie dem Dienstkonto des Dienst-Agents von Managed Service for Apache Spark Ihres Projekts die Rolleroles/compute.imageUserfür das gehostete Image zuweisen (siehe Benutzerdefinierte Images innerhalb einer Organisation freigeben).MOK-Secrets (Machine Owner Key) für Secure Boot verwenden: So aktivieren Sie Secure Boot mit Ihrem benutzerdefinierten Image für Managed Service for Apache Spark:
Aktivieren Sie die Secret Manager API (
secretmanager.googleapis.com). Managed Service for Apache Spark generiert und verwaltet ein Schlüsselpaar mit dem Secret Manager-Dienst.Fügen Sie dem Befehl
generate_custom_image.pydas Flag--service-account="SERVICE_ACCOUNT"hinzu, wenn Sie ein benutzerdefiniertes Image generieren. Hinweis: Sie müssen dem Dienstkonto die Rolle „Secret Manager Viewer“ (roles/secretmanager.viewer) für das Projekt und die Rolle „Secret Manager Accessor“ (roles/secretmanager.secretAccessor) für die öffentlichen und privaten Secrets zuweisen.Weitere Informationen mit Beispielen finden Sie in der Datei
README.mdund in anderen Dateien im Verzeichnis „examples/secure-boot“ des RepositorysGoogleCloudDataproc/custom-imagesauf GitHub.Secure Boot deaktivieren: Standardmäßig generieren und verwalten die benutzerdefinierten Image-Skripts von Managed Service for Apache Spark ein Schlüsselpaar mit Secret Manager, wenn sie von einem Managed Service for Apache Spark-Cluster ausgeführt werden. Wenn Sie Secure Boot nicht mit Ihrem benutzerdefinierten Image verwenden möchten, fügen Sie dem Befehl
generate_custom_image.pydas Flag--trusted-cert=""(leerer Flag-Wert) hinzu, wenn Sie Ihr benutzerdefiniertes Image generieren.
Hinweis
Richten Sie Ihr Projekt ein, bevor Sie Ihr benutzerdefiniertes Image generieren.
Projekt einrichten
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Dataproc API, Compute Engine API, and Cloud Storage APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
Configure the gcloud CLI to use your federated identity.
For more information, see Sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init - Python 3.11 oder höher installieren
- Erstellen Sie ein Anpassungsskript zur Installation benutzerdefinierter Pakete bzw. Aktualisierungskonfigurationen. Beispiel:
#! /usr/bin/bash apt-get -y update apt-get install python-dev apt-get install python-pip pip install numpy
Cloud Storage-Bucket in Ihrem Projekt erstellen
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
- Klicken Sie auf Erstellen.
- Geben Sie auf der Seite Bucket erstellen die Bucket-Informationen ein. Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.
-
Führen Sie im Abschnitt Einstieg die folgenden Schritte aus:
- Geben Sie einen global eindeutigen Namen ein, der den Anforderungen für Bucket-Namen entspricht.
- So fügen Sie ein Bucket-Label hinzu: Maximieren Sie den Abschnitt Labels (), klicken Sie auf add_box Label hinzufügen und geben Sie
keyundvaluefür Ihr Label an.
-
Gehen Sie im Bereich Speicherort für Daten auswählen so vor:
- Standorttyp auswählen.
- Wählen Sie im Drop-down-Menü Standorttyp einen Standort aus, an dem die Daten Ihres Buckets dauerhaft gespeichert werden sollen.
- Wenn Sie den Standorttyp Dual-Region auswählen, können Sie auch die Turboreplikation aktivieren, indem Sie das entsprechende Kästchen anklicken.
- Wenn Sie die Bucket-übergreifende Replikation einrichten möchten, wählen Sie Bucket-übergreifende Replikation über Storage Transfer Service hinzufügen aus und führen Sie die folgenden Schritte aus:
Bucket-übergreifende Replikation einrichten
- Wählen Sie im Menü Bucket einen Bucket aus.
Klicken Sie im Bereich Replikationseinstellungen auf Konfigurieren, um die Einstellungen für den Replikationsjob zu konfigurieren.
Der Bereich Bucket-übergreifende Replikation konfigurieren wird angezeigt.
- Wenn Sie die zu replizierenden Objekte nach dem Objektnamenspräfix filtern möchten, geben Sie ein Präfix ein, mit dem Sie Objekte ein- oder ausschließen möchten, und klicken Sie dann auf Präfix hinzufügen.
- Wenn Sie eine Speicherklasse für die replizierten Objekte festlegen möchten, wählen Sie im Menü Speicherklasse eine Speicherklasse aus. Wenn Sie diesen Schritt überspringen, verwenden die replizierten Objekte standardmäßig die Speicherklasse des Ziel-Buckets.
- Klicken Sie auf Fertig.
-
Gehen Sie im Bereich Speicherort für Daten auswählen so vor:
- Wählen Sie eine Standardspeicherklasse für den Bucket oder Autoclass für die automatische Speicherklassenverwaltung der Daten Ihres Buckets aus.
- Wenn Sie den hierarchischen Namespace aktivieren möchten, wählen Sie im Abschnitt Speicher für datenintensive Arbeitslasten optimieren die Option Hierarchischen Namespace für diesen Bucket aktivieren aus.
- Wählen Sie im Abschnitt Zugriff auf Objekte steuern aus, ob der Bucket die Verhinderung des öffentlichen Zugriffs erzwingt, und wählen Sie eine Zugriffssteuerungsmethode für die Objekte Ihres Buckets aus.
-
Gehen Sie im Bereich Auswählen, wie Objektdaten geschützt werden so vor:
- Wählen Sie unter Datenschutz die Optionen aus, die Sie für Ihren Bucket festlegen möchten.
- Wenn Sie das vorläufige Löschen aktivieren möchten, klicken Sie auf das Kästchen Richtlinie für vorläufiges Löschen (zur Datenwiederherstellung) und geben Sie die Anzahl der Tage an, die Objekte nach dem Löschen aufbewahrt werden sollen.
- Klicken Sie zum Festlegen der Objektversionsverwaltung das Kästchen Objektversionsverwaltung (zur Versionsverwaltung) an und geben Sie die maximale Anzahl von Versionen pro Objekt und die Anzahl der Tage an, nach denen die nicht aktuellen Versionen ablaufen.
- Wenn Sie die Aufbewahrungsrichtlinie für Objekte und Buckets aktivieren möchten, klicken Sie auf das Kästchen Aufbewahrung (für Compliance) und gehen Sie so vor:
- Klicken Sie auf das Kästchen Objektaufbewahrung aktivieren, um die Objektaufbewahrungssperre zu aktivieren.
- Wenn Sie die Bucket-Sperre aktivieren möchten, klicken Sie auf das Kästchen Aufbewahrungsrichtlinie für Bucket festlegen und wählen Sie eine Zeiteinheit und eine Zeitdauer für die Aufbewahrungsdauer aus.
- Um auszuwählen, wie Ihre Objektdaten verschlüsselt werden, maximieren Sie den Bereich Datenverschlüsselung () und wählen Sie eine Methode für die Datenverschlüsselung aus.
- Wählen Sie unter Datenschutz die Optionen aus, die Sie für Ihren Bucket festlegen möchten.
-
Führen Sie im Abschnitt Einstieg die folgenden Schritte aus:
- Klicken Sie auf Erstellen.
Benutzerdefiniertes Bild generieren
Sie verwenden generate_custom_image.py, ein Python-Programm, um ein benutzerdefiniertes Image für Managed Service for Apache Spark zu erstellen.
Funktionsweise
Das Programm generate_custom_image.py startet eine temporäre Compute Engine-VM-Instanz mit dem angegebenen Managed Service for Apache Spark-Basis-Image und führt dann das Anpassungsskript in der VM-Instanz aus, um benutzerdefinierte Pakete zu installieren und/oder Konfigurationen zu aktualisieren. Nachdem das Anpassungsskript abgeschlossen ist, wird die VM-Instanz heruntergefahren und ein benutzerdefiniertes Managed Service for Apache Spark-Image vom Laufwerk der VM-Instanz erstellt. Die temporäre VM wird gelöscht, nachdem das benutzerdefinierte Image erstellt wurde. Das benutzerdefinierte Image wird gespeichert und kann zum Erstellen von Managed Service for Apache Spark-Clustern verwendet werden.
Das Programm generate_custom_image.py verwendet die gcloud CLI, um mehrstufige Workflows in Compute Engine auszuführen.
Code ausführen
Forken oder klonen Sie die Dateien auf GitHub unter Benutzerdefinierte Images für Managed Service for Apache Spark.
Führen Sie dann das Skript generate_custom_image.py aus, damit Managed Service for Apache Spark Ihr benutzerdefiniertes Image generiert und speichert.
python3 generate_custom_image.py \ --image-name=CUSTOM_IMAGE_NAME \ [--family=CUSTOM_IMAGE_FAMILY_NAME] \ --dataproc-version=IMAGE_VERSION \ --customization-script=LOCAL_PATH \ --zone=ZONE \ --gcs-bucket=gs://BUCKET_NAME \ [--no-smoke-test]
Erforderliche Flags
--image-name: der Ausgabename für Ihr benutzerdefiniertes Image.--dataproc-version: Die Image-Version von Managed Service for Apache Spark, die in Ihrem benutzerdefinierten Image verwendet werden soll. Geben Sie die Version im Formatx.y.z-osoderx.y.z-rc-osan, z. B. „2.0.69-debian10“.--customization-script: Ein lokaler Pfad zu Ihrem Skript, das vom Tool ausgeführt wird, um Ihre benutzerdefinierten Pakete zu installieren oder andere Anpassungen vorzunehmen. Dieses Script wird nur auf der temporären VM, die zum Erstellen des benutzerdefinierten Images verwendet wird, als Linux-Startscript ausgeführt. Sie können ein anderes Initialisierungsskript für andere Initialisierungsaktionen angeben, die Sie ausführen möchten, wenn Sie einen Cluster mit Ihrem benutzerdefinierten Image erstellen.Projektübergreifende Images: Wenn Ihr benutzerdefiniertes Image zum Erstellen von Clustern in verschiedenen Projekten verwendet wird, kann ein Fehler aufgrund des im Image gespeicherten Befehls-Caches
gcloudodergsutilauftreten. Sie können dieses Problem vermeiden, indem Sie den folgenden Befehl in Ihr Anpassungsskript einfügen, um im Cache gespeicherte Anmeldedaten zu löschen.rm -r /root/.gsutil /root/.config/gcloud
--zone: die Compute Engine-Zone, in dergenerate_custom_image.pyeine temporäre VM erstellt, die zum Erstellen des benutzerdefinierten Images verwendet wird.--gcs-bucket: ein URI im Formatgs://BUCKET_NAME, der auf Ihren Cloud Storage-Bucket verweist.generate_custom_image.pyschreibt Logdateien in diesen Bucket.
--family: die Image-Familie für das benutzerdefinierte Image. Image-Familien werden verwendet, um ähnliche Images zu gruppieren, und können beim Erstellen eines Clusters als Zeiger auf das neueste Image in der Familie verwendet werden. Beispiel:custom-2-2-debian12.--no-smoke-test: Dies ist ein optionales Flag, das das Testen des neu erstellten benutzerdefinierten Images deaktiviert. Beim Smoke-Test wird ein Managed Service for Apache Spark-Testcluster mit dem neu erstellten Image erstellt, ein kleiner Job ausgeführt und der Cluster am Ende des Tests gelöscht. Der Smoke-Test wird standardmäßig ausgeführt, um zu prüfen, ob mit dem neu erstellten benutzerdefinierten Image ein funktionsfähiger Managed Service for Apache Spark-Cluster erstellt werden kann. Wenn Sie diesen Schritt mit dem Flag--no-smoke-testdeaktivieren, wird der Build-Prozess für das benutzerdefinierte Image beschleunigt. Dies wird jedoch nicht empfohlen.--subnet: Das Subnetzwerk, das zum Erstellen der VM verwendet werden soll, die das benutzerdefinierte Managed Service for Apache Spark-Image erstellt. Wenn Ihr Projekt Teil einer gemeinsam genutzten VPC ist, müssen Sie die vollständige Subnetzwerk-URL im folgenden Format angeben:projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET.--optional-components: Dieses Flag ist nur verfügbar, wenn Sie die Basis-Image-Versionen2.3und höher verwenden. Eine Liste optionaler Komponenten, die im Image installiert werden sollen, z. B. SOLR, RANGER, TRINO, DOCKER, FLINK, HIVE_WEBHCAT, ZEPPELIN, HUDI, ICEBERG und PIG (PIG ist als optionale Komponente in Image-Versionen ab2.3verfügbar).Beispiel: Befehl zum Erstellen eines Clusters mit der Google Cloud CLI:
gcloud dataproc clusters create CLUSTER_NAME --image=CUSTOM_IMAGE_URI \ --optional-components=COMPONENT_NAME \ ... other flags
Eine Liste der verfügbaren optionalen Flags finden Sie auf GitHub unter Optionale Argumente.
Wenn generate_custom_image.py erfolgreich ist, wird der imageURI des benutzerdefinierten Images in der Ausgabe des Terminalfensters angezeigt. Der vollständige imageUri wird unten fett dargestellt:
...
managedCluster:
clusterName: verify-image-20180614213641-8308a4cd
config:
gceClusterConfig:
zoneUri: ZONE
masterConfig:
imageUri: **https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/images/CUSTOM_IMAGE_NAME**
...
INFO:__main__:Successfully built Dataproc custom image: CUSTOM_IMAGE_NAME
INFO:__main__:
#####################################################################
WARNING: DATAPROC CUSTOM IMAGE 'CUSTOM_IMAGE_NAME'
WILL EXPIRE ON 2018-07-14 21:35:44.133000.
#####################################################################
Benutzerdefinierte Image-Versionslabels (erweiterte Verwendung)
Wenn Sie das Standardtool für benutzerdefinierte Images von Managed Service for Apache Spark verwenden, wird das Label goog-dataproc-version für das erstellte benutzerdefinierte Image festgelegt. Das Label spiegelt die Funktionen und Protokolle wider, die von Managed Service for Apache Spark zum Verwalten der Software auf dem Image verwendet werden.
Erweiterte Verwendung: Wenn Sie einen eigenen Prozess verwenden, um ein benutzerdefiniertes Managed Service for Apache Spark-Image zu erstellen, müssen Sie das Label goog-dataproc-version manuell so zu Ihrem benutzerdefinierten Image hinzufügen:
Extrahieren Sie das Label
goog-dataproc-versionaus dem Managed Service for Apache Spark-Basis-Image, das zum Erstellen des benutzerdefinierten Images verwendet wurde.gcloud compute images describe ${BASE_DATAPROC_IMAGE} \ --project cloud-dataproc \ --format="value(labels.goog-dataproc-version)"Legen Sie das Label für das benutzerdefinierte Image fest.
gcloud compute images add-labels IMAGE_NAME --labels=[KEY=VALUE,...]
Benutzerdefiniertes Image verwenden
Sie geben das benutzerdefinierte Image an, wenn Sie einen Managed Service for Apache Spark-Cluster erstellen. Ein benutzerdefiniertes Image wird in Cloud Compute Images gespeichert und ist ab dem Erstellungsdatum 365 Tage lang gültig, um einen Managed Service for Apache Spark-Cluster zu erstellen. Informationen zur Verwendung eines benutzerdefinierten Images nach Ablauf der 365 Tage finden Sie unter Cluster mit einem abgelaufenen benutzerdefinierten Image erstellen.
URI eines benutzerdefinierten Images
Sie übergeben den imageUri des benutzerdefinierten Images an den Vorgang zur Clustererstellung.
Es gibt drei Möglichkeiten, diesen URI anzugeben:
- Vollständiger URI:
https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/images/`gs://`BUCKET_NAME` - Teil-URI:
projects/PROJECT_ID/global/images/CUSTOM_IMAGE_NAME - Kurzform: CUSTOM_IMAGE_NAME
Benutzerdefinierte Images können auch über ihren Familien-URI angegeben werden, der immer das neueste Bild innerhalb der Image-Familie auswählt.
- Vollständiger URI:
https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/images/family/CUSTOM_IMAGE_FAMILY_NAME/var> - Teil-URI:
projects/PROJECT_ID/global/images/family/CUSTOM_IMAGE_FAMILY_NAME
URI des benutzerdefinierten Images ermitteln
Google Cloud CLI
Führen Sie den folgenden Befehl aus, um die Namen Ihrer benutzerdefinierten Images aufzulisten.
gcloud compute images list
Übergeben Sie den Namen Ihres benutzerdefinierten Images an den folgenden Befehl, um den URI (selfLink) Ihres benutzerdefinierten Images aufzulisten.
gcloud compute images describe custom-image-name
Ausgabe-Snippet:
... name: CUSTOM_IMAGE_NAME selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/CUSTOM_IMAGE_NAME ...
Google Cloud Console
- Öffnen Sie in der Google Cloud Console die Seite Compute Engine → Images und klicken Sie auf den Image-Namen.
Sie können eine Abfrage in das Feld
filter imageseinfügen, um die Anzahl der angezeigten Bilder zu begrenzen.
- Die Seite Bilddetails wird geöffnet. Klicken Sie auf Entsprechender REST.
- In der REST-Antwort werden zusätzliche Informationen über das Image angezeigt, beispielsweise der Image-URI
selfLink.{ ... "name": "my-custom-image", "selfLink": "projects/PROJECT_ID/global/images/CUSTOM_IMAGE_NAME", "sourceDisk": ..., ... }
Cluster mit einem benutzerdefinierten Image erstellen
Cluster erstellen mit der gcloud CLI, der Dataproc API oder derGoogle Cloud Console.
Google Cloud Console
- Öffnen Sie die Seite Cluster erstellen.
- Klicken Sie im Abschnitt Cluster definieren auf Image-Typ und -Version, wählen Sie Benutzerdefiniertes Image aus, bestätigen oder ändern Sie das Projekt und wählen Sie ein verfügbares benutzerdefiniertes Image aus.
gcloud-CLI
Erstellen Sie einen Managed Service for Apache Spark-Cluster mit einem benutzerdefinierten Image. Verwenden Sie dazu den Befehl dataproc clusters create mit dem Flag --image.
gcloud dataproc clusters create CLUSTER-NAME \ --image=CUSTOM_IMAGE_URI \ --region=REGION \ ... other flags
REST API
Erstellen Sie einen Cluster mit einem benutzerdefinierten Image, indem Sie den URI des benutzerdefinierten Images im Feld InstanceGroupConfig.imageUri im Objekt masterConfig, workerConfig und gegebenenfalls secondaryWorkerConfig angeben, das in einer API-Anfrage cluster.create enthalten ist.
Beispiel: REST-Anfrage zum Erstellen eines standardmäßigen Managed Service for Apache Spark-Clusters (ein Master, zwei Worker-Knoten) mit einem benutzerdefinierten Image.
POST /v1/projects/PROJECT_ID/regions/REGION/clusters/
{
"clusterName": "CLUSTER_NAME",
"config": {
"masterConfig": {
"imageUri": "projects/PROJECT_ID/global/images/CUSTOM_IMAGE_NAME"
},
"workerConfig": {
"imageUri": "projects/PROJECT_ID/global/images/CUSTOM_IMAGE_NAME"
}
}
}
Managed Service for Apache Spark-Clustereigenschaften mit einem benutzerdefinierten Image überschreiben
Sie können benutzerdefinierte Images verwenden, um Clusterattribute zu überschreiben, die beim Erstellen des Clusters festgelegt werden. Wenn Sie einen Cluster mit einem benutzerdefinierten Image erstellen und beim Erstellen des Clusters Attribute mit Werten festgelegt werden, die sich von den Werten des benutzerdefinierten Images unterscheiden, haben die Attributwerte des benutzerdefinierten Images Vorrang.
So legen Sie Clusterattribute mit Ihrem benutzerdefinierten Image fest:
Erstellen Sie in dem Anpassungsskript Ihres benutzerdefinierten Images eine
dataproc.custom.properties-Datei in/etc/google-dataprocund legen Sie dann die Attributwerte des Clusters in der Datei fest.- Beispieldatei
dataproc.custom.properties:
dataproc.conscrypt.provider.enable=VALUE dataproc.logging.stackdriver.enable=VALUE
- Beispiel-Snippet zum Erstellen einer Anpassungsskriptdatei, um zwei Clusterattribute zu überschreiben:
cat <<EOF >/etc/google-managed-spark/dataproc.custom.properties dataproc.conscrypt.provider.enable=true dataproc.logging.stackdriver.enable=false EOF
- Beispieldatei
Cluster mit einem abgelaufenen benutzerdefinierten Image erstellen
Benutzerdefinierte Images laufen standardmäßig 365 Tage nach dem Erstellungsdatum des Images ab. So erstellen Sie einen Cluster mit einem abgelaufenen benutzerdefinierten Image:
Versuchen Sie, einen Managed Service for Apache Spark-Cluster mit einem abgelaufenen benutzerdefinierten Image oder einem benutzerdefinierten Image zu erstellen, das innerhalb von 10 Tagen abläuft.
gcloud dataproc clusters create CLUSTER-NAME \ --image=CUSTOM-IMAGE-NAME \ --region=REGION \ ... other flags
Die gcloud CLI gibt eine Fehlermeldung aus, die den Attributnamen
dataproc:dataproc.custom.image.expiration.tokenund den Tokenwert des Clusters enthält.
dataproc:dataproc.custom.image.expiration.token=TOKEN_VALUE
Kopieren Sie den String TOKEN_VALUE in die Zwischenablage.
Erstellen Sie den Managed Service for Apache Spark-Cluster mit der gcloud CLI neu und fügen Sie den kopierten TOKEN_VALUE als Clusterattribut hinzu.
gcloud dataproc clusters create CLUSTER-NAME \ --image=CUSTOM-IMAGE-NAME \ --properties=dataproc:dataproc.custom.image.expiration.token=TOKEN_VALUE \ --region=REGION \ ... other flags
Der Cluster mit dem benutzerdefinierten Image sollte nun erfolgreich erstellt werden.