In Cloud Data Fusion bezieht sich die Clusterkonfiguration darauf, zu definieren, Datenverarbeitungspipelines nutzen beim Ausführen von Spark Rechenressourcen Jobs in Dataproc ausführen. Auf dieser Seite werden die wichtigsten Ansätze für die Clusterkonfiguration beschrieben.
Sitzungsspezifische Standardcluster (empfohlen)
Die Verwendung der Standardcluster wird für Cloud Data Fusion-Pipelines
- Cloud Data Fusion stellt für jede Pipelineausführung automatisch sitzungsspezifische Dataproc-Cluster bereit und verwaltet sie. Es wird eine den Cluster am Anfang der Pipelineausführung an und löscht ihn nach der Ausführung die Pipelineausführung beendet.
- Vorteile von sitzungsspezifischen Clustern:
- Einfachheit: Sie müssen den Cluster nicht manuell konfigurieren oder verwalten.
- Kosteneffizienz: Sie zahlen nur für die Ressourcen, die während Pipelineausführung.
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 für kann ein statischer Cluster kostengünstiger sein das wiederholte Erstellen und Löschen sitzungsspezifischer Cluster.
- Zentrale Clusterverwaltung: Wenn Ihre Organisation eine zentrale Kontrolle über die Clustererstellung und -verwaltungsrichtlinien benötigt, können statische Cluster zusammen mit Tools wie Terraform verwendet werden.
- Zeit für das Erstellen von Clustern: Wenn die Zeit, die zum Erstellen eines neuen Clusters für jede Pipeline benötigt wird, für Ihren Anwendungsfall untragbar ist.
Statische Cluster erfordern jedoch eine umfassendere manuelle Konfiguration und Verwaltung. des Clusterlebenszyklus.
Für die Verwendung eines statischen Clusters müssen Sie Folgendes festlegen: Property im Dataproc-Cluster:
dataproc:dataproc.conscrypt.provider.enable=false
Clusterkonfigurationsoptionen für statische Cluster
Wenn Sie statische Cluster verwenden, 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. Davon hängt ab, welche vCPUs und für jeden Worker.
- Anzahl der Worker: Definieren Sie die anfängliche Anzahl von Worker-Knoten in der Cluster. Dataproc skaliert diese Zahl möglicherweise trotzdem automatisch, Arbeitsbelastung.
- Zone: Wählen Sie die Google Cloud-Zone Ihres Clusters aus. Der Standort kann sich auf Datenlokalität und Netzwerkleistung.
- Zusätzliche Konfigurationen: Sie können erweiterte Optionen für Ihre statische Cluster, z. B. Einstellungen für vorzeitiges Beenden, Netzwerkeinstellungen und Initialisierungsaktionen.
Best Practices
Verwenden Sie beim Erstellen eines statischen Clusters für Ihre Pipelines Folgendes: Konfigurationen.
Parameter | Beschreibung |
---|---|
yarn.nodemanager.delete.debug-delay-sec |
Behält YARN-Protokolle auf. Empfohlener Wert: 86400 (entspricht einem Tag) |
yarn.nodemanager.pmem-check-enabled |
Ermöglicht YARN, physische Speicherlimits zu prüfen und Container zu beenden, wenn sie über den physischen Speicher hinausgehen. Empfohlener Wert: false |
yarn.nodemanager.vmem-check-enabled |
Ermöglicht YARN, nach Limits für virtuelle Arbeitsspeicher zu suchen und Container zu beenden, wenn
sie gehen über das physische Gedächtnis hinaus. 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 Leistung zu verbessern. Bearbeitungszeit. Die Clusterwiederverwendung wird in einem Modell implementiert, das dem Verbindungs- oder Thread-Pooling ähnelt. Jeder Cluster wird nach Abschluss des Durchlaufs für einen bestimmten Zeitraum beibehalten. Beim Start einer neuen Ausführung wird versucht, einen inaktiven Cluster verfügbar, der mit der Konfiguration des Compute-Profils übereinstimmt. 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 regulären sitzungsspezifischen Cluster Bereitstellungsmodells führt ein Cluster jeweils nur eine Pipeline aus. A der Cluster nur wiederverwendet wird, wenn er inaktiv ist.
- Wenn Sie die Clusterwiederverwendung für alle Ausführungen aktivieren, wird die erforderliche Anzahl von Clustern zur Verarbeitung aller Ausführungen nach Bedarf erstellt. Ähnlich wie beim sitzungsspezifischen Dataproc-Bereitsteller kann die Anzahl der erstellten Cluster nicht direkt gesteuert werden. Sie können weiterhin Google Cloud-Angebote verwenden, Ressourcen zu verwalten. Wenn Sie beispielsweise 100 Ausführungen mit maximal 7 parallelen Ausführungen gibt es bis zu 7 Cluster zu einem bestimmten Zeitpunkt.
Cluster werden zwischen verschiedenen Pipelines wiederverwendet, sobald diese Pipelines dasselbe Profil und dieselben Profileinstellungen verwenden. Wenn-Profil werden Cluster zwar wiederverwendet, aber nur, wenn sind die Anpassungen identisch, 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, die sich zwischen der Pipeline befinden, werden mehr Ressourcen verwendet und nach der letzten Pipelineausführung.
Es ist zwar schwierig, den Kosteneffekt der Wiederverwendung von Clustern vorherzusagen, Sie können jedoch um maximale Einsparungen zu erzielen. Die Strategie besteht darin, einen kritischen Pfad für verkettete Pipelines zu identifizieren und die Clusterwiederverwendung für diesen kritischen Pfad zu ermöglichen. So wird sichergestellt, dass der Cluster sofort wiederverwendet wird, keine Inaktivitätszeiten verschwendet werden und maximale Leistungsvorteile erzielt werden.
Wiederverwendung von Clustern aktivieren
Im Abschnitt „Compute-Konfiguration“ der bereitgestellten Pipelinekonfiguration oder beim Erstellen eines neuen Compute-Profils:
- Aktivieren Sie Clusterlöschung überspringen.
- Die maximale Inaktivitätsdauer ist die Zeit, bis ein Cluster auf die nächste Pipeline wartet, um sie wiederzuverwenden. Die maximale Inaktivitätszeit beträgt standardmäßig 30 Minuten. Für die maximale Inaktivitätszeit: die Kosten im Vergleich zur Clusterverfügbarkeit für die Wiederverwendung. Je höher der desto mehr Cluster sind 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 kompatibel mit nicht unterstützten Dataproc-Versionen. Dataproc bietet keine Aktualisierungen und keine Unterstützung für Cluster, die mit diesen Versionen erstellt wurden. Sie können weiterhin einen Cluster ausführen, der mit einer nicht unterstützten Version erstellt wurde. 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.1.1 | 2,2, 2,1, 2,0* |
6.10 | 2.1, 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** |
major.minor
-Image-Version.Wenn Sie die in Ihrem Dataproc-Cluster verwendete Betriebssystemversion angeben, muss diese mit einer der unterstützten Dataproc-Versionen für Ihre Cloud Data Fusion-Umgebung in der Tabelle oben kompatibel sein.
Fehlerbehebung: Container wurde mit einem Exit-Code 3 ungleich null beendet
Problem: Es wird keine Autoscaling-Richtlinie verwendet und die statische
Bei Dataproc-Clustern kommt es zu einer Speicherauslastung, was zu einer
Out-of-Memory-Ausnahme, die in den Logs angezeigt wird: Container exited with a non-zero
exit code 3
.
Empfohlen: Erhöhen Sie den Arbeitsspeicher des Executors.
Erhöhen Sie den Arbeitsspeicher, indem Sie der Pipeline ein task.executor.system.resources.memory
-Laufzeitargument hinzufügen. Im folgenden Beispiel wird mit dem Laufzeitargument der Arbeitsspeicher auf 4.096 MB festgelegt:
"task.executor.system.resources.memory": 4096
Weitere Informationen finden Sie unter Clustergröße.
Nächste Schritte
- Weitere Informationen finden Sie unter Dataproc-Image-Version ändern.