Best Practices für Dataproc für die Produktion

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 und spark-sql abhängt, mit args4j speziell für den Job und spark-sql eine Abhängigkeit auf Clusterebene, bündeln Sie args4j 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

  1. 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
     

  2. 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