Dataproc-Clusterkonfiguration

In Cloud Data Fusion bezieht sich die Clusterkonfiguration darauf, festzulegen, wie Ihre Datenverarbeitungspipelines Rechenressourcen verwenden, wenn Spark-Jobs in Dataproc ausgeführt werden. Auf dieser Seite werden die wichtigsten Ansätze für die Clusterkonfiguration beschrieben.

Sitzungsspezifische Standardcluster (empfohlen)

Für Cloud Data Fusion-Pipelines wird die Verwendung der Standardcluster empfohlen.

  • Cloud Data Fusion stellt für jede Pipelineausführung automatisch sitzungsspezifische Dataproc-Cluster bereit und verwaltet diese. Zu Beginn der Pipelineausführung wird ein Cluster erstellt und nach Abschluss der Pipelineausführung gelöscht.
  • Vorteile sitzungsspezifischer Cluster:
    • Einfachheit: Sie müssen den Cluster nicht manuell konfigurieren oder verwalten.
    • Kosteneffizienz: Sie zahlen nur für die Ressourcen, die bei der Ausführung der Pipeline verwendet werden.

Informationen zum Anpassen von Clustern und zum Optimieren der Leistung finden Sie unter Clustergröße.

Statische Cluster (für bestimmte Szenarien)

In den folgenden Szenarien können Sie statische Cluster verwenden:

  • Lang andauernde Pipelines: Für Pipelines, die kontinuierlich oder über längere Zeiträume ausgeführt werden, kann ein statischer Cluster kostengünstiger sein als das wiederholte Erstellen und Löschen sitzungsspezifischer Cluster.
  • Zentrale Clusterverwaltung: Wenn Ihre Organisation eine zentrale Kontrolle über Richtlinien für die Clustererstellung und -verwaltung benötigt, können statische Cluster zusammen mit Tools wie Terraform verwendet werden.
  • Clustererstellungszeit: Wenn die Zeit zum Erstellen eines neuen Clusters für jede Pipeline für Ihren Anwendungsfall zu hoch ist.

Statische Cluster erfordern jedoch eine manuelle Konfiguration und müssen den Clusterlebenszyklus selbst verwalten.

Wenn Sie einen statischen Cluster verwenden möchten, müssen Sie das folgende Attribut im Dataproc-Cluster festlegen:

dataproc:dataproc.conscrypt.provider.enable=false

Clusterkonfigurationsoptionen für statische Cluster

Wenn Sie sich für die Verwendung statischer Cluster entscheiden, bietet Cloud Data Fusion Konfigurationsoptionen für die folgenden Aspekte:

  • Worker-Maschinentyp: Geben Sie den Typ der virtuellen Maschine für die Worker-Knoten in Ihrem Cluster an. Dadurch werden die für jeden Worker verfügbaren vCPUs und der verfügbare Arbeitsspeicher bestimmt.
  • Anzahl der Worker: Definieren Sie die anfängliche Anzahl von Worker-Knoten in Ihrem Cluster. Dataproc skaliert diese Zahl möglicherweise trotzdem basierend auf der Arbeitslast automatisch.
  • Zone: Wählen Sie die Google Cloud-Zone des Clusters aus. Der Standort kann sich auf den Speicherort der Daten und die Netzwerkleistung auswirken.
  • Zusätzliche Konfigurationen: Sie können erweiterte Optionen für Ihren statischen Cluster konfigurieren, z. B. Einstellungen für das vorzeitige Beenden, Netzwerkeinstellungen und Initialisierungsaktionen.

Best Practices

Verwenden Sie die folgenden Konfigurationen, wenn Sie einen statischen Cluster für Ihre Pipelines erstellen.

Parameter Beschreibung
yarn.nodemanager.delete.debug-delay-sec Behält YARN-Protokolle auf.
Empfohlener Wert: 86400 (entspricht einem Tag)
yarn.nodemanager.pmem-check-enabled Aktiviert YARN, um nach physischen Arbeitsspeicherlimits zu suchen und Container zu beenden, wenn sie den physischen Arbeitsspeicher überschreiten.
Empfohlener Wert: false
yarn.nodemanager.vmem-check-enabled Aktiviert YARN, um nach Limits für virtuelle Arbeitsspeicher zu suchen und Container zu beenden, wenn sie den physischen Arbeitsspeicher überschreiten.
Empfohlener Wert: false.

Weitere Informationen finden Sie unter Pipeline für einen vorhandenen Dataproc-Cluster ausführen.

Cluster wiederverwenden

Sie können Dataproc-Cluster zwischen Ausführungen wiederverwenden, um die Verarbeitungszeit zu verkürzen. Die Wiederverwendung von Clustern wird in einem Modell implementiert, das dem Verbindungs- oder Thread-Pooling ähnelt. Jeder Cluster wird nach Abschluss der Ausführung für eine bestimmte Zeit aktiv gehalten. Wenn eine neue Ausführung gestartet wird, wird nach einem verfügbaren inaktiven Cluster gesucht, der der Konfiguration des Compute-Profils entspricht. Wenn ein Cluster vorhanden ist, wird er verwendet. Andernfalls wird ein neuer Cluster gestartet.

Hinweise zur Wiederverwendung von Clustern

  • Cluster sind nicht freigegeben. Ähnlich wie beim Modell für die reguläre sitzungsspezifische Clusterbereitstellung führt ein Cluster jeweils nur eine Pipeline aus. Ein Cluster wird nur wiederverwendet, wenn er inaktiv ist.
  • Wenn Sie die Wiederverwendung von Clustern für alle Ausführungen aktivieren, wird die zur Verarbeitung aller Ausführungen erforderliche Anzahl von Clustern nach Bedarf erstellt. Ähnlich wie beim sitzungsspezifischen Dataproc-Bereitsteller gibt es keine direkte Kontrolle über die Anzahl der erstellten Cluster. Sie können weiterhin Google Cloud-Angebote verwenden, um Ressourcen zu verwalten. Wenn Sie beispielsweise 100 Durchläufe mit maximal sieben parallelen Durchläufen ausführen, haben Sie zu einem bestimmten Zeitpunkt bis zu 7 Cluster.
  • Cluster werden zwischen verschiedenen Pipelines wiederverwendet, sobald diese Pipelines dasselbe Profil verwenden und dieselben Profileinstellungen haben. Wenn die Profilanpassung verwendet wird, werden Cluster weiterhin wiederverwendet, aber nur, wenn die Anpassungen genau gleich sind, einschließlich aller Clustereinstellungen wie Cluster-Labeling.

  • Wenn die Wiederverwendung von Clustern aktiviert ist, müssen im Wesentlichen zwei Aspekte berücksichtigt werden:

    • Für das Starten und Initialisieren des Clusters werden weniger Ressourcen verwendet.
    • Für Cluster werden mehr Ressourcen verwendet, um zwischen den Pipelineausführungen und nach der letzten Pipelineausführung inaktiv zu sein.

Es ist zwar schwierig, den Kosteneffekt der Wiederverwendung von Clustern vorherzusagen, Sie können jedoch eine Strategie anwenden, um maximale Einsparungen zu erzielen. Die Strategie besteht darin, einen kritischen Pfad für verkettete Pipelines zu identifizieren und die Wiederverwendung von Clustern für diesen kritischen Pfad zu ermöglichen. Dadurch wird der Cluster sofort wiederverwendet, keine Leerlaufzeit verschwendet und maximale Leistung wird erzielt.

Cluster-Wiederverwendung aktivieren

Gehen Sie im Bereich „Compute Config“ der bereitgestellten Pipelinekonfiguration oder beim Erstellen eines neuen Compute-Profils so vor:

  • Aktivieren Sie Clusterlöschung überspringen.
  • Die maximale Inaktivitätszeit ist die Zeit, bis zu der ein Cluster wartet, bis die nächste Pipeline diese wiederverwendet. Der Standardwert für die maximale Inaktivitätszeit beträgt 30 Minuten. Berücksichtigen Sie für die maximale Inaktivitätszeit die Kosten im Vergleich zur Clusterverfügbarkeit für die Wiederverwendung. Je höher der Wert für die maximale Inaktivitätszeit ist, desto mehr Cluster bleiben inaktiv und können ausgeführt werden.

Fehlerbehebung: Versionskompatibilität

Problem: Die Version Ihrer Cloud Data Fusion-Umgebung ist möglicherweise nicht mit der Version Ihres Dataproc-Clusters kompatibel.

Empfohlen: Führen Sie ein Upgrade auf die neueste Cloud Data Fusion-Version durch und verwenden Sie eine der unterstützten Dataproc-Versionen.

Frühere Versionen von Cloud Data Fusion sind nur mit nicht unterstützten Dataproc-Versionen kompatibel. Dataproc bietet keine Aktualisierungen und keine Unterstützung für Cluster, die mit diesen Versionen erstellt wurden. Sie können einen Cluster, der mit einer nicht unterstützten Version erstellt wurde, weiterhin ausführen. Wir empfehlen jedoch, ihn durch einen Cluster zu ersetzen, der mit einer unterstützten Version erstellt wurde.

Cloud Data Fusion-Version Dataproc-Version
6.10 und höher 2.1 und 2.0*
6.9 2,1, 2,0, 1,5*
6,7–6,8 2,0, 1,5*
6,4–6,6 2,0*, 1,3**
6.1–6.3 1,3**

* Cloud Data Fusion-Versionen 6.4 und höher sind mit den unterstützten Versionen von Dataproc kompatibel. Sofern keine bestimmten Betriebssystemfunktionen benötigt werden, wird empfohlen, die Image-Version major.minor anzugeben.
Damit die in Ihrem Dataproc-Cluster verwendete Betriebssystemversion angegeben werden kann, muss die Betriebssystemversion mit einer der in der vorherigen Tabelle für Cloud Data Fusion unterstützten Dataproc-Versionen kompatibel sein.

** Cloud Data Fusion-Versionen 6.1 bis 6.6 sind mit der nicht unterstützten Dataproc-Version 1.3 kompatibel.

Nächste Schritte