In diesem Dokument werden Best Practices für Dataproc beschrieben, die Sie dabei unterstützen können, die Ausführung zuverlässiger, effizienter und aufschlussreicher Datenverarbeitungsjobs Dataproc-Cluster in Produktionsumgebungen
Cluster-Image-Versionen angeben
Dataproc verwendet Image-Versionen um Betriebssysteme, Big-Data-Komponenten, und Google Cloud-Connectors zu einem Paket, das in einem Cluster bereitgestellt wird. Wenn Sie beim Erstellen eines Clusters keine Image-Version angeben, wird standardmäßig die neueste stabile Image-Version verwendet.
Verknüpfen Sie für Produktionsumgebungen Ihren Cluster mit einem bestimmten
major.minor
Dataproc-Image-Version, als
wie im folgenden gcloud CLI-Befehl dargestellt.
gcloud dataproc clusters create CLUSTER_NAME \ --region=region \ --image-version=2.0
Dataproc löst die major.minor
-Version in die neueste Sub-Minor-Version auf
(2.0
wird in 2.0.x
aufgelöst). Hinweis: Wenn Sie für Ihren Cluster eine bestimmte Sub-Minor-Version benötigen,
können Sie es angeben, z. B. --image-version=2.0.x
. Weitere Informationen finden Sie unter
Funktionsweise der Versionsverwaltung für
erhalten Sie weitere Informationen.
Dataproc-Vorschau-Image-Versionen
Neue Nebenversionen von Dataproc
Bilder sind in einer preview
-Version vor der Veröffentlichung verfügbar
in der Standard-Neben-Image-Version. Vorschaubild verwenden
Zum Testen und Validieren Ihrer Jobs mit einer neuen Neben-Image-Version
bevor die Neben-Image-Standardversion
in der Produktion verwendet wird.
Siehe Dataproc-Versionsverwaltung
.
Bei Bedarf benutzerdefinierte Images verwenden
Wenn Sie dem Cluster Abhängigkeiten hinzufügen müssen, z. B. native Python-Bibliotheken, Sicherheits- oder Virenschutzsoftware, Erstellen eines benutzerdefinierten Images mit dem neuesten Image im Ziel-Neben-Image-Versions-Track. Mit dieser Vorgehensweise können Sie Abhängigkeitsanforderungen erfüllen wenn Sie Cluster mit Ihrem benutzerdefinierten Image erstellen. Wenn Sie Ihr benutzerdefiniertes Image Aktualisierung von Abhängigkeitsanforderungen verwenden Sie die neueste verfügbare Sub-Minor-Image-Version im Neben-Image-Track.
Jobs an Dataproc-Dienst senden
Senden Sie Jobs an den Dataproc-Dienst mit einer jobs.submit mit der Methode gcloud-Befehlszeile oder in der Google Cloud Console. Legen Sie Job- und Clusterberechtigungen fest, indem Sie Dataproc-Rollen: Verwenden Sie benutzerdefinierten Rollen, um den Clusterzugriff von den Berechtigungen zum Senden von Jobs zu trennen.
Vorteile des Sendens von Jobs an den Dataproc-Dienst:
- Keine komplizierten Netzwerkeinstellungen erforderlich – die API ist weithin erreichbar
- Einfach zu verwaltende IAM-Berechtigungen und -Rollen
- Überwachen Sie den Jobstatus ganz einfach – ohne Dataproc-Jobmetadaten, um die Ergebnisse zu verkomplizieren.
In der Produktion Jobs ausführen, die nur von Clusterebene abhängig sind
Abhängigkeiten in einer festen Neben-Image-Version (z. B. --image-version=2.0
). Set
Abhängigkeiten mit Jobs, wenn die Jobs gesendet werden. Wird gesendet
Uber-JAR-Datei
Dafür gibt es häufig Spark oder MapReduce.
- Beispiel: Wenn eine Job-JAR-Datei von
args4j
undspark-sql
abhängt, mitargs4j
speziell für den Job undspark-sql
eine Abhängigkeit auf Clusterebene, bündeln Sieargs4j
in der Uber-JAR-Datei des Jobs.
Speicherorte von Initialisierungsaktionen steuern
Initialisierungsaktionen können Sie Skripts automatisch ausführen oder wenn Sie einen Dataproc-Cluster erstellen (siehe dataproc-initialization-actions GitHub-Repository für gängige Dataproc-Initialisierungsaktionen). Bei Verwendung von Initialisierungsaktionen des Clusters in einer Produktionsumgebung Umgebung, Initialisierungsskripts in Cloud Storage kopieren anstatt aus einem öffentlichen Repository zu beziehen. Durch diese Vorgehensweise wird Folgendes vermieden: Initialisierungsskripts, die von anderen geändert werden können.
Dataproc-Versionshinweise überwachen
Dataproc veröffentlicht regelmäßig neue Sub-Minor-Image-Versionen. Dataproc-Versionshinweise aufrufen oder abonnieren über die neuesten Dataproc-Image-Versionen und andere Ankündigungen, Änderungen und Korrekturen.
Staging-Bucket aufrufen, um Fehler zu untersuchen
Sehen Sie sich den Staging-Bucket um Cluster- und Job-Fehlermeldungen zu untersuchen. In der Regel wird der Cloud Storage-Speicherort des Staging-Buckets in wie im fett formatierten Text im folgenden Beispielfehler Nachricht:
ERROR: (gcloud.dataproc.clusters.create) Operation ... failed: ... - Initialization action failed. Failed action ... see output in: gs://dataproc-<BUCKETID>-us-central1/google-cloud-dataproc-metainfo/CLUSTERID/<CLUSTER_ID>\dataproc-initialization-script-0_output
Verwenden Sie die gcloud CLI, um den Inhalt des Staging-Buckets aufzurufen:
gcloud storage cat gs://STAGING_BUCKET
Beispielausgabe:+ readonly RANGER_VERSION=1.2.0 ... Ranger admin password not set. Please use metadata flag - default-password
Support kontaktieren
Google Cloud unterstützt Ihre OSS-Produktionsarbeitslasten und hilft Ihnen, Ihre durch Supportstufen. Außerdem hat Google Cloud Beratungsdienste können Ratschläge zu Best Practices geben. für die Produktionsbereitstellungen Ihres Teams.
Weitere Informationen
Lesen Sie den Best Practices-Leitfaden für Dataproc im Google Cloud-Blog.
Sehen Sie sich Dataproc demokratisieren auf YouTube an.