View a markdown version of this page

Links zu Best-Practice-Leitfäden für Amazon EMR on EKS unter GitHub - Amazon EMR

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Links zu Best-Practice-Leitfäden für Amazon EMR on EKS unter GitHub

Wir haben den Amazon EMR on EKS Best Practices Guide in Zusammenarbeit mit der Open-Source-Community erstellt, sodass wir schnell iterieren und Empfehlungen für Aspekte der Erstellung und Ausführung eines virtuellen Clusters geben können. Wir empfehlen Ihnen, für die Abschnitte den Leitfaden für bewährte Methoden für Amazon EMR in EKS zu verwenden. Wählen Sie die Links in den einzelnen Abschnitten, um zur Website zu gelangen. GitHub

Sicherheit

Anmerkung

Weitere Informationen zur Sicherheit mit Amazon EMR in EKS finden Sie unter Bewährte Methoden für Sicherheit in Amazon EMR in EKS.

Bewährte Methoden zur Verschlüsselung: Verwendung der Verschlüsselung für Daten im Ruhezustand und bei der Übertragung.

Unter Netzwerksicherheit verwalten wird beschrieben, wie Sicherheitsgruppen für Pods für Amazon EMR in EKS konfiguriert werden, während Sie eine Verbindung zu Datenquellen herstellen, die in AWS-Services wie Amazon RDS und Amazon Redshift gehostet werden.

Verwenden des AWS Secrets Managers zum Speichern von Geheimnissen.

Einreichung einer Pyspark-Aufgabe

Pyspark-Aufgaben-Einreichung: spezifiziert verschiedene Arten von Paketierungen für PySpark-Anwendungen unter Verwendung von Paketierungsformaten wie zip, egg, wheel und pex.

Speicher

Verwendung von EBS-Volumes: Verwendung von statischer und dynamischer Bereitstellung für Aufträge, die EBS-Volumes benötigen.

Verwenden von Amazon FSx for Lustre-Volumes: So verwenden Sie statische und dynamische Bereitstellung für Jobs, die Amazon FSx for Luster-Volumes benötigen.

Verwenden von Instance-Speicher-Volumes: So verwenden Sie Instance-Speicher-Volumes für die Aufgabenverarbeitung.

Metastore-Integration

Verwenden von Hive Metastore: bietet verschiedene Möglichkeiten, Hive Metastore zu verwenden.

Verwenden von AWS Glue: bietet verschiedene Möglichkeiten, den AWS Glue-Katalog zu konfigurieren.

Debuggen

Verwendung von Spark-Debugging: So ändern Sie die Protokollebene.

Verbindung zur Spark-Benutzeroberfläche auf dem Treiber-Pod herstellen.

So verwenden Sie den selbst gehosteten Spark-Verlaufsserver mit Amazon EMR in EKS.

Beheben von Problemen in Amazon EMR in EKS

Fehlerbehebung.

Knotenplatzierung

Verwendung von Kubernetes-Knotenselektoren für single-az und andere Anwendungsfälle.

Verwenden der Fargate-Knotenplatzierung.

Leistung

Verwenden von Dynamic Resource Allocation (DRA).

spark.dynamicAllocation.preallocateExecutorsIst standardmäßig in Amazon EMR Spark aktiviert. Wenn spark.dynamicAllocation.initialExecutors und nicht gesetzt spark.dynamicAllocation.minExecutors sind, fordert Spark beim Start möglicherweise eine große Anzahl von Executoren auf der Grundlage der geschätzten Anzahl von Aufgaben an, selbst bei kleinen Workloads. Verwenden Sie einen der folgenden Ansätze, um eine übermäßige Abwanderung von Containern zu vermeiden:

  • Stellen Sie spark.dynamicAllocation.initialExecutors oder spark.dynamicAllocation.minExecutors auf einen Wert ein, der Ihrer Workload-Größe entspricht.

  • Legen Sie spark.dynamicAllocation.preallocateExecutors.maxEstimatedTasks einen niedrigeren Wert fest, um die Anzahl der beim Start angeforderten Executoren zu begrenzen.

  • Wird spark.dynamicAllocation.preallocateExecutors auf gesetzt, false um die Vorbelegung von Executoren vollständig zu deaktivieren.

Bewährte EKS-Methoden für das Amazon VPC Container Network Interface Plugin (CNI), Cluster Autoscaler und Core DNS.

Kostenoptimierung

Verwendung von Spot Instances: Bewährte Methoden für Amazon-EC2-Spot Instances und Verwendung des Features zur Außerbetriebnahme von Spark-Knoten.

Benutzen AWS Outposts

Amazon EMR auf EKS ausführen mit AWS Outposts