

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.

# Was ist Amazon EMR?
<a name="emr-what-is-emr"></a>

Amazon EMR, zuvor Amazon Elastic genannt MapReduce, ist eine verwaltete Cluster-Plattform, die die Ausführung von Big-Data-Frameworks wie [Apache Hadoop](https://aws.amazon.com/elasticmapreduce/details/hadoop) und [Apache Spark](https://aws.amazon.com/elasticmapreduce/details/spark) vereinfacht, AWS um riesige Datenmengen zu verarbeiten und zu analysieren. Die Verwendung dieser Frameworks und verwandter Open-Source-Projekte, können Sie Daten zu Analysezwecken und Business-Intelligence-Workloads verarbeiten. Amazon EMR zum Transformieren und Verschieben lässt auch große Datenmengen in und aus anderen AWS -Datenspeichern und Datenbanken verwenden, wie z. B. Amazon Simple Storage Service (Amazon S3) und Amazon DynamoDB. 

Wenn Sie Amazon EMR erstmalig verwenden, empfehlen wir, zusätzlich zu diesem Abschnitt die folgenden Abschnitte zu lesen:
+ [Amazon EMR](https://aws.amazon.com/elasticmapreduce/) – Auf dieser Service-Seite finden Sie die Highlights, Produktdetails und Preisinformationen.
+ [Tutorial: Erste Schritte mit Amazon EMR](emr-gs.md) – Mit diesem Tutorial können Sie schnell mit Amazon EMR beginnen.

**Topics**
+ [Verstehen, wie man Amazon EMR-Cluster erstellt und mit ihnen arbeitet](emr-overview.md)
+ [Vorteile der Verwendung von Amazon EMR](emr-overview-benefits.md)
+ [Amazon EMR-Architektur und Service-Ebenen](emr-overview-arch.md)

# Verstehen, wie man Amazon EMR-Cluster erstellt und mit ihnen arbeitet
<a name="emr-overview"></a>

Dieses Thema bietet eine Übersicht über die Amazon-EMR-Cluster, einschließlich der Übermittlung von Aufträgen an einen Cluster, der Verarbeitung von Daten und der verschiedenen Status, die der Cluster während der Verarbeitung durchläuft. 

**Topics**
+ [Machen Sie sich mit Clustern und Knoten vertraut](#emr-overview-clusters)
+ [Übermitteln von Aufträgen an einen Cluster](#emr-work-cluster)
+ [Verarbeiten von Daten](#emr-overview-data-processing)
+ [Verstehen des Cluster-Lebenszyklus](#emr-overview-cluster-lifecycle)

## Machen Sie sich mit Clustern und Knoten vertraut
<a name="emr-overview-clusters"></a>

Die zentrale Komponente des Amazon EMR ist der *Cluster*. Ein Cluster ist eine Sammlung von Amazon Elastic Compute Cloud (Amazon EC2)-Instances. Jede Instance in einem Cluster wird als *Knoten* bezeichnet. Jeder Knoten verfügt über eine Rolle im Cluster – *Knotentyp* genannt. Amazon EMR installiert auch verschiedene Softwarekomponenten auf den einzelnen Knotentypen und überträgt so jedem Knoten eine Rolle in einer verteilten Anwendung wie Apache Hadoop.

 Amazon EMR verfügt über die folgenden Knotentypen: 
+ **Primärknoten**: Knoten, der den Cluster durch die Ausführung von Softwarekomponenten verwaltet, die die Verteilung von Daten und Aufgaben auf andere Knoten zur Verarbeitung koordinieren. Der Primärknoten überwacht den Status der Aufgaben und überwacht den Zustand des Clusters. Jeder Cluster verfügt über einen Primärknoten und es ist möglich, einen Einzelknoten-Cluster nur mit dem Primärknoten zu erstellen.
+ **Core-Knoten**: Knoten mit Software-Komponenten, die Aufgaben ausführen und Daten im HDFS (Hadoop Distributed File System) auf dem Cluster speichern. Multiknoten-Cluster enthalten mindestens einen Core-Knoten.
+ **Aufgabenknoten**: Knoten mit Software-Komponenten, die nur Aufgaben ausführen und keine Daten in HDFS speichern. Aufgabenknoten sind optional.

## Übermitteln von Aufträgen an einen Cluster
<a name="emr-work-cluster"></a>

Bei Ausführung eines Clusters in Amazon EMR haben Sie mehrere Möglichkeiten, die auszuführende Arbeit anzugeben. 
+ Stellen Sie die gesamte Definition der auszuführenden Arbeit in Funktionen bereit, die Sie als Schritte angeben, wenn Sie einen Cluster erstellen. Dies wird in der Regel für Cluster durchgeführt, die eine bestimmte Datenmenge verarbeiten und nach Abschluss der Verarbeitung beendet werden. 
+ Erstellen Sie einen Cluster mit langer Laufzeit und verwenden Sie die Amazon EMR-Konsole, die Amazon EMR-API oder die AWS CLI zum Senden von Schritten, die einen oder mehrere Jobs enthalten können. Weitere Informationen finden Sie unter [Arbeit an einen Amazon EMR-Cluster einreichen](emr-work-with-steps.md). 
+ Erstellen Sie einen Cluster, stellen Sie nach Bedarf eine Verbindung zum Primärknoten und zu anderen Knoten mit SSH her und verwenden Sie die von den installierten Anwendungen bereitgestellten Schnittstellen, um Aufgaben auszuführen und Abfragen zu senden entweder in Skripts oder interaktiv. Weitere Informationen finden Sie im [Handbuch zu Amazon-EMR-Versionen](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). 

## Verarbeiten von Daten
<a name="emr-overview-data-processing"></a>

Wenn Sie einen Cluster starten, bestimmen Sie die zu installierenden Frameworks und Anwendungen, damit Ihren Anforderungen an die Datenverarbeitung entsprochen wird. Um Daten in Ihrem Amazon-EMR-Cluster zu verarbeiten, können Sie Aufträge oder Abfragen direkt an installierte Anwendungen senden oder alternativ die *Schritte* im Cluster ausführen.

### Übermitteln von Aufträgen direkt an die Anwendungen
<a name="emr-overview-submitting-jobs"></a>

Sie können Aufträge direkt an die Software übermitteln, die auf Ihrem Amazon-EMR-Cluster installiert ist, und anschließend damit interagieren. Dazu stellen Sie in der Regel eine sichere Verbindung mit dem Primärknoten her und greifen auf die Schnittstellen und Tools zu, die für die Software, die direkt auf Ihrem Cluster ausgeführt wird, verfügbar sind. Weitere Informationen finden Sie unter [Eine Verbindung zu einem Amazon-EMR-Cluster herstellen](emr-connect-master-node.md).

### Ausführen von Schritten zur Verarbeitung von Daten
<a name="emr-overview-steps"></a>

Sie können einem Amazon-EMR-Cluster einen oder mehrere angeordnete Schritte übermitteln. Jeder Schritt ist eine Arbeitseinheit mit Anweisungen zur Verarbeitung von Daten durch auf dem Cluster installierte Software.

 Es folgt ein Beispiel für einen Prozess mit vier Schritten: 

1. Übermitteln Sie die Eingabedatenmenge für die Verarbeitung.

1. Verarbeiten Sie die Ausgabe des ersten Schritts mithilfe eines Pig-Programms.

1. Verarbeiten Sie eine zweites Eingabedatenmenge mithilfe eines Hive-Programms.

1. Schreiben Sie einen Ausgabedatensatz.

Wenn Sie Daten in Amazon EMR verarbeiten, wird die Eingabe als Daten in Dateien gespeichert, die sich im zugrunde liegenden Dateisystem, wie z. B. Amazon S3 oder HDFS, befinden. Diese Daten werden während des Verarbeitungsablaufs von einem Schritt zum nächsten weitergeleitet. Im letzten Schritt werden die Ausgabedaten in einen bestimmten Speicherort geschrieben, wie zum Beispiel in einen Amazon-S3-Bucket.

 Die Schritte werden in der folgenden Reihenfolge ausgeführt: 

1. Eine Anfrage wird übermittelt, um mit den Verarbeitungsschritten zu beginnen.

1. Der Status aller Schritte wird auf **PENDING (AUSSTEHEND)** festgelegt.

1. Wenn der erste Schritt der Sequenz gestartet wird, wird dessen Status in **RUNNING (WIRD AUSGEFÜHRT)** geändert. Die anderen Schritte bleiben im Status **PENDING (AUSSTEHEND)**.

1. Nachdem der erste Schritt abgeschlossen ist, wird dessen Status in **COMPLETED (ABGESCHLOSSEN)** geändert.

1. Der nächste Schritt der Sequenz wird gestartet und dessen Status wird in **RUNNING (WIRD AUSGEFÜHRT)** geändert. Nachdem er abgeschlossen ist, wird dessen dessen Status in **COMPLETED (ABGESCHLOSSEN)** geändert.

1. Dieses Muster wiederholt sich für jeden Schritt, bis alle Schritte abgeschlossen sind und die Verarbeitung beendet wird.

Das folgende Diagramm stellt die Schrittsequenz sowie die Statusänderung für die einzelnen Schritte während der Verarbeitung dar. 

![\[Sequenzdiagramm für Amazon EMR, das die verschiedenen Cluster-Schrittstatus zeigt.\]](http://docs.aws.amazon.com/de_de/emr/latest/ManagementGuide/images/step-sequence.png)


Wenn ein Schritt während der Verarbeitung fehlschlägt, wechselt der Status zu **FEHLGESCHLAGEN**. Sie können für jeden Schritt festlegen, was als Nächstes geschieht. Standardmäßig werden alle verbleibenden Schritte in der Sequenz auf **ABGEBROCHEN** festgelegt und wenn ein vorangehender Schritt fehlschlägt. Außerdem können Sie das Ignorieren des Fehlers aktivieren, damit die verbleibenden Schritte ausgeführt werden oder der Cluster sofort beendet wird.

Das folgende Diagramm stellt die Schrittsequenz sowie die standardmäßige Statusänderung dar, wenn ein Schritt während der Verarbeitung fehlschlägt. 

![\[Sequenzdiagramm für Amazon EMR, das zeigt, was mit nachfolgenden Schritten passiert, wenn ein vorhergehender Cluster-Schritt fehlschlägt.\]](http://docs.aws.amazon.com/de_de/emr/latest/ManagementGuide/images/step-sequence-failed.png)


## Verstehen des Cluster-Lebenszyklus
<a name="emr-overview-cluster-lifecycle"></a>

 Ein erfolgreicher Amazon-EMR-Cluster befolgt diesen Prozess: 

1. Amazon EMR stellt zunächst EC2-Instances im Cluster für jede Instance nach Maßgabe Ihrer Spezifikationen bereit. Weitere Informationen finden Sie unter [Amazon EMR-Cluster-Hardware und -Netzwerke konfigurieren](emr-plan-instances.md). Amazon EMR verwendet für alle Instances das Standard-AMI für Amazon EMR oder ein von Ihnen angegebenes benutzerdefiniertes Amazon-Linux-AMI. Weitere Informationen finden Sie unter [Verwendung eines benutzerdefinierten AMI für mehr Flexibilität bei der Amazon EMR-Clusterkonfiguration](emr-custom-ami.md). Während dieser Phase ist der Cluster-Status auf `STARTING` gesetzt.

1. Amazon EMR; führt *Bootstrap-Aktionen* aus, die Sie für jede Instance angeben. Sie können Bootstrap-Aktionen verwenden, um benutzerdefinierte Anwendungen zu installieren und erforderliche Anpassungen vorzunehmen. Weitere Informationen finden Sie unter [Erstellen Sie Bootstrap-Aktionen, um zusätzliche Software mit einem Amazon EMR-Cluster zu installieren](emr-plan-bootstrap.md). Während dieser Phase ist der Cluster-Status auf `BOOTSTRAPPING` gesetzt. 

1. Amazon EMR installiert die nativen Anwendungen, die Sie angeben, wenn Sie den Cluster erstellen, z. B. Hive, Hadoop, Spark usw.

1. Nachdem Bootstrap-Aktionen erfolgreich abgeschlossen und native Anwendungen installiert wurden, lautet der Cluster-Status `RUNNING`. An diesem Punkt können Sie die Verbindung zu Cluster-Instances herstellen. Der Cluster führt sequenziell die Schritte aus, die Sie beim Erstellen des Clusters angegeben haben. Sie können zusätzliche Schritte senden, die dann nach Abschluss der vorherigen Schritte ausgeführt werden. Weitere Informationen finden Sie unter [Arbeit an einen Amazon EMR-Cluster einreichen](emr-work-with-steps.md). 

1. Nachdem die Schritte erfolgreich ausgeführt wurden, erhält der Cluster den Status `WAITING`. Wenn ein Cluster für die automatische Beendigung nach Abschluss des letzten Schritts konfiguriert ist, wechselt der Cluster den Status `TERMINATING`-Zustand und dann in den `TERMINATED`-Zustand. Wenn der Cluster so konfiguriert ist, dass er wartet, müssen Sie ihn manuell herunterfahren, wenn Sie ihn nicht mehr benötigen. Nachdem Sie den Cluster manuell beenden haben, wird dieser in den Status `TERMINATING` versetzt und danach in den Status `TERMINATED`.

Ein Fehler im Cluster-Lebenszyklus veranlasst, Amazon EMR den Cluster und dessen Instances zu beenden, sofern Sie nicht den Beendigungsschutz aktivieren. Wenn ein Cluster wegen eines Fehlers beendet wird, werden alle auf dem Cluster befindlichen Daten gelöscht und dem Cluster-Status wird der Status `TERMINATED_WITH_ERRORS` zugewiesen. Wenn Sie den Beendigungsschutz aktiviert haben, können Sie Daten vom Cluster abrufen und anschließend den Beendigungsschutz entfernen und den Cluster beenden. Weitere Informationen finden Sie unter [Verwenden Sie den Kündigungsschutz, um Ihre Amazon EMR-Cluster vor einem versehentlichen Herunterfahren zu schützen](UsingEMR_TerminationProtection.md). 

Das folgende Diagramm stellt den Lebenszyklus eines Clusters dar und wie die einzelnen Lebenszyklusphasen einem bestimmten Cluster-Status zugeordnet sind. 

![\[Das folgende Diagramm für Amazon EMR stellt den Lebenszyklus eines Clusters dar und wie die einzelnen Lebenszyklusphasen einem bestimmten Cluster-Status zugeordnet sind.\]](http://docs.aws.amazon.com/de_de/emr/latest/ManagementGuide/images/emr-cluster-lifecycle.png)


# Vorteile der Verwendung von Amazon EMR
<a name="emr-overview-benefits"></a>

Es gibt zahlreiche Vorteile für die Verwendung von Amazon EMR. Dazu gehören die Flexibilität AWS und die Kosteneinsparungen, die sich im Vergleich zum Aufbau eigener Ressourcen vor Ort bieten. Dieser Abschnitt bietet eine Übersicht über die Vorteile und stellt Ihnen Links zu weiteren Informationen zur Verfügung.

**Topics**
+ [Kosteneinsparungen](#emr-benefits-cost)
+ [AWS Integration](#emr-benefits-integration)
+ [Bereitstellung](#emr-benefits-deployment)
+ [Skalierbarkeit und Flexibilität](#emr-benefits-scalability)
+ [Zuverlässigkeit](#emr-benefits-reliability)
+ [Sicherheit](#emr-benefits-security)
+ [Überwachen](#emr-benefits-monitoring)
+ [Verwaltungsschnittstellen](#emr-what-tools)

## Kosteneinsparungen
<a name="emr-benefits-cost"></a>

Amazon EMR Preisgestaltung richtet sich nach dem Instance-Typ und der Anzahl der Amazon-EC2-Instances, die Sie bereitstellen, sowie der Region, in der Sie den Cluster starten. On-Demand-Preise bieten einen niedrigen Stundensatz, allerdings können Sie die Kosten weiter senken, indem Sie Reserved Instances erwerben oder auf Spot-Instances bieten. Spot Instances können bedeutende Kostenersparnisse bieten – in einigen Fällen betragen sie nur ein Zehntel der On-Demand-Preise.

**Anmerkung**  
Wenn Sie Amazon S3, Amazon Kinesis oder DynamoDB mit Ihrem EMR-Cluster verwenden, fallen für diese Services zusätzliche Gebühren an, die getrennt von Ihrer Amazon-EMR-Nutzung berechnet werden.

**Anmerkung**  
Wenn Sie einen Amazon-EMR-Cluster in einem privaten Subnetz einrichten, empfehlen wir, dass Sie auch [VPC-Endpunkte für Amazon S3](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) einrichten. Wenn sich Ihr EMR-Cluster in einem privaten Subnetz ohne VPC-Endpunkte für Amazon S3 befindet, fallen zusätzliche NAT-Gateway-Gebühren an, die mit S3-Verkehr verbunden sind, da der Verkehr zwischen Ihrem EMR-Cluster und S3 nicht innerhalb Ihrer VPC verbleibt.

Weitere Informationen zu Preisoptionen und Details finden Sie unter [Amazon-EMR-Preise](https://aws.amazon.com/elasticmapreduce/pricing/).

## AWS Integration
<a name="emr-benefits-integration"></a>

Amazon EMR lässt sich in andere AWS Services integrieren, um Funktionen und Funktionen in Bezug auf Netzwerk, Speicher, Sicherheit usw. für Ihren Cluster bereitzustellen. In der folgenden Liste finden Sie einige Beispiele für diese Integration:
+ Amazon EC2 für die Instances, die als Knoten im Cluster vorhanden sind
+ Amazon Virtual Private Cloud (Amazon VPC) zur Konfiguration des virtuellen Netzwerks, in dem Sie Ihre Instances starten
+ Amazon S3 zum Speichern von Ein- und Ausgabedaten
+ Amazon überwacht CloudWatch die Cluster-Leistung und konfiguriert Alarme
+ AWS Identity and Access Management (IAM) zur Konfiguration von Berechtigungen
+ AWS CloudTrail um Anfragen an den Service zu prüfen
+ AWS Data Pipeline um Ihre Cluster zu planen und zu starten
+ AWS Lake Formation um Daten in einem Amazon S3 S3-Data Lake zu entdecken, zu katalogisieren und zu sichern

## Bereitstellung
<a name="emr-benefits-deployment"></a>

Ihr EMR-Cluster besteht aus EC2-Instances, die die Aufgaben ausführen, die Sie Ihrem Cluster übermitteln. Wenn Sie einen Cluster starten, konfiguriert Amazon EMR die Instances mit den von Ihnen ausgewählten Anwendungen, wie beispielsweise Apache Hadoop oder Spark. Wählen Sie die Größe und den Typ der Instance aus, die am ehesten den Verarbeitungsanforderungen Ihres Clusters entsprechen: Stapelverarbeitung, schnelle Abfragen, Streaming-Daten oder große Datenspeicher. Weitere Informationen zu den für Amazon EMR verfügbaren Instance-Typen finden Sie unter [Amazon EMR-Cluster-Hardware und -Netzwerke konfigurieren](emr-plan-instances.md).

Amazon EMR bietet verschiedene Möglichkeiten zum Konfigurieren von Software auf Ihrem Cluster. Sie können beispielsweise eine Amazon-EMR-Version installieren, die eine Reihe ausgewählter Anwendungen umfasst, einschließlich vielseitiger Frameworks wie Hadoop und Anwendungen, wie beispielsweise Hive, Pig oder Spark. Darüber hinaus können Sie auch eine der zahlreichen MapR-Verteilungen installieren. Amazon EMR verwendet Amazon Linux so können Sie auch Software unter Verwendung des Paket-Managers yum oder direkt von der Quelle manuell auf Ihrem Cluster installieren. Weitere Informationen finden Sie unter [Konfigurieren Sie Anwendungen, wenn Sie Ihren Amazon EMR-Cluster starten](emr-plan-software.md).

## Skalierbarkeit und Flexibilität
<a name="emr-benefits-scalability"></a>

Amazon EMR bietet Flexibilität, sodass Sie Ihren Cluster nach oben oder unten skalieren können, wenn sich Ihre Anforderungen an die Datenverarbeitung ändern. Sie können die Größe des Clusters ändern, um während Spitzenlastzeiten Instances hinzuzufügen, und um Instances zu entfernen, wenn die Spitzenlastzeiten nachlassen. So verfügen Sie über mehr Kontrolle über Ihre Kosten. Weitere Informationen finden Sie unter [Manuelles Ändern der Größe eines laufenden Amazon EMR-Clusters](emr-manage-resize.md).

 Amazon EMR bietet außerdem die Option, mehrere Instance-Gruppen auszuführen. So können Sie sie in einer Gruppe On-Demand-Instances verwenden, um die Verarbeitungsleistung sicherzustellen, während Sie in einer anderen Gruppe Spot Instances verwenden, um Ihre Aufträge schneller abzuschließen und Kosten zu senken. Sie können auch verschiedene Instance-Typen mischen, um die Preisvorteile von bestimmten Spot-Instance-Typen zu nutzen. Weitere Informationen finden Sie unter [Wann sollten Sie Spot Instances verwenden?](emr-plan-instances-guidelines.md#emr-plan-spot-instances). 

Darüber hinaus bietet Amazon EMR die Flexibilität, verschiedene Dateisysteme für Ihre Eingabe-, Ausgabe- und Zwischendaten zu verwenden. Für die Verarbeitung von Daten, die Sie nicht länger als den Lebenszyklus Ihres Clusters speichern müssen, können Sie beispielsweise das Hadoop Distributed File System (HDFS) auswählen, das auf den Primär- und Core-Knoten Ihres Clusters ausgeführt wird. Sie können möglicherweise auch das EMR File System (EMRFS) für die Verwendung mit Amazon S3 auswählen. Es kann als Daten-Layer für Anwendungen auf Ihrem Cluster dienen, sodass Sie die Datenverarbeitung und den Speicher trennen und Daten außerhalb des Lebenszyklus Ihres Clusters erhalten können. EMRFS bietet Ihnen die Möglichkeit, Ihre Anforderungen an die Datenverarbeitung und an den Speicher nach oben oder nach unten zu skalieren. Sie können Ihre Anforderungen an die Datenverarbeitung skalieren, indem Sie die Größe Ihres Clusters verändern, und Ihre Speicheranforderungen skalieren, indem Sie Amazon S3 verwenden. Weitere Informationen finden Sie unter [Arbeiten mit Speicher- und Dateisystemen mit Amazon EMR](emr-plan-file-systems.md).

## Zuverlässigkeit
<a name="emr-benefits-reliability"></a>

Amazon EMR; überwacht die Knoten in Ihrem Cluster und beendet und ersetzt eine Instance automatisch, wenn ein Fehler auftritt.

Amazon EMR bietet Konfigurationsoptionen, anhand denen Sie steuern, ob der Cluster beendet werden soll automatisch oder manuell. Wenn Sie Ihren Cluster so konfigurieren, dass er automatisch beendet wird, erfolgt das, nachdem alle Schritte abgeschlossen sind. Dies wird auch als vorübergehender Cluster bezeichnet. Sie können den Cluster jedoch auch so konfigurieren, dass er nach Abschluss der Verarbeitung weiter ausgeführt wird. Auf diese Weise können Sie ihn manuell beenden, wenn Sie ihn nicht länger benötigen. Alternativ können Sie einen Cluster erstellen, mit den installierten Anwendungen direkt interagieren und den Cluster, wenn Sie ihn nicht mehr benötigen, manuell beenden. Die Cluster in diesen Beispielen werden als *langlebige Cluster* bezeichnet. 

Zusätzlich können Sie den Beendigungsschutz konfigurieren, um zu verhindern, dass Instances im Cluster aufgrund von Fehlern oder Problemen während der Verarbeitung beendet werden. Wenn der Beendigungsschutz aktiviert ist, können Sie die Daten vor der Beendigung von den Instances wiederherstellen. Die Standardeinstellungen für diese Optionen unterscheiden sich, je nachdem, ob Sie einen Cluster über die Konsole, die CLI oder die API starten. Weitere Informationen finden Sie unter [Verwenden Sie den Kündigungsschutz, um Ihre Amazon EMR-Cluster vor einem versehentlichen Herunterfahren zu schützen](UsingEMR_TerminationProtection.md).

## Sicherheit
<a name="emr-benefits-security"></a>

Amazon EMR nutzt andere AWS Services wie IAM und Amazon VPC sowie Funktionen wie Amazon EC2 EC2-Schlüsselpaare, um Sie bei der Sicherung Ihrer Cluster und Daten zu unterstützen.

### IAM
<a name="emr-benefits-iam"></a>

Amazon EMR kann mit IAM integriert werden, um Berechtigungen zu verwalten. Sie definieren Berechtigungen mit IAM-Richtlinien, die Sie Benutzern oder IAM-Gruppen anfügen. Die Berechtigungen, die Sie in den Richtlinie definieren, legen fest, welche Aktionen diese Benutzer oder Gruppenmitglieder ausführen können, und auf welche Ressourcen sie zugreifen können. Weitere Informationen finden Sie unter [Funktionsweise von Amazon EMR mit IAM](security_iam_service-with-iam.md).

Darüber hinaus verwendet Amazon EMR, IAM-Rollen für den Amazon EMR selbst und das EC2-Instance-Profil für die Instances. Diese Rollen gewähren dem Service und den Instances die Erlaubnis, in Ihrem Namen auf andere AWS Services zuzugreifen. Es gibt sowohl für den Amazon-EMR-Service als auch für das EC2-Instance-Profil eine standardmäßige Rolle. Die Standardrollen verwenden AWS verwaltete Richtlinien, die automatisch für Sie erstellt werden, wenn Sie zum ersten Mal einen EMR-Cluster von der Konsole aus starten und Standardberechtigungen auswählen. Sie können die IAM-Standardrollen auch über die AWS CLI erstellen. Wenn Sie stattdessen die Berechtigungen verwalten möchten AWS, können Sie benutzerdefinierte Rollen für das Service- und Instanzprofil auswählen. Weitere Informationen finden Sie unter [Konfiguration von IAM-Servicerollen für Amazon EMR-Berechtigungen für AWS Dienste und Ressourcen](emr-iam-roles.md).

### Sicherheitsgruppen
<a name="emr-benefits-security-groups"></a>

Amazon EMR verwendet Sicherheitsgruppen, um den ein- und ausgehenden Datenverkehr zu Ihren EC2-Instances zu steuern. Wenn Sie Ihren Cluster starten, verwendet Amazon EMR eine Sicherheitsgruppe für Ihre primäre Instance und eine Sicherheitsgruppe, die von Ihren core/task instances. Amazon EMR configures the security group rules to ensure communication among the instances in the cluster. Optionally, you can configure additional security groups and assign them to your primary and core/task Instances gemeinsam genutzt wird, um erweiterte Regeln zu erstellen. Weitere Informationen finden Sie unter [Steuern Sie den Netzwerkverkehr mit Sicherheitsgruppen für Ihren Amazon EMR-Cluster](emr-security-groups.md).

### Verschlüsselung
<a name="emr-benefits-encryption"></a>

Amazon EMR unterstützt die optionale Amazon S3 serverseitige und clientseitige Verschlüsselung mit EMRFS, um die von Ihnen in Amazon S3 gespeicherten Daten zu schützen. Bei der serverseitigen Verschlüsselung werden Ihre Daten von Amazon S3 nach dem Hochladen verschlüsselt.

Bei der clientseitigen Verschlüsselung erfolgt der Ver- und Entschlüsselungsvorgang im EMRFS-Client auf Ihrem EMR-Cluster. Sie verwalten den Root-Schlüssel für die clientseitige Verschlüsselung entweder mit dem AWS Key Management Service (AWS KMS) oder Ihrem eigenen Schlüsselverwaltungssystem.

Weitere Informationen finden Sie unter [Amazon-S3-Verschlüsselung mithilfe von EMRFS-Eigenschaften angeben](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-emrfs-encryption.html).

### Amazon VPC
<a name="emr-benefits-vpc"></a>

Amazon EMR unterstützt das Starten von Clustern in einer Virtual Private Cloud (VPC) in Amazon VPC. Eine VPC ist ein isoliertes, virtuelles Netzwerk, AWS das die Möglichkeit bietet, erweiterte Aspekte der Netzwerkkonfiguration und des Netzwerkzugriffs zu steuern. Weitere Informationen finden Sie unter [Konfiguration von Netzwerken in einer VPC für Amazon EMR](emr-plan-vpc-subnet.md).

### AWS CloudTrail
<a name="emr-benefits-cloudtrail"></a>

Amazon EMR lässt sich integrieren CloudTrail , um Informationen über Anfragen zu protokollieren, die von oder im Namen Ihres AWS Kontos gestellt wurden. Anhand dieser Informationen können Sie verfolgen, wer wann auf Ihr Cluster zugreift sowie die IP-Adresse, von der die Anforderung gestellt wird. Weitere Informationen finden Sie unter [Protokollieren AWS EMR EMR-API-Aufrufen mit AWS CloudTrail](logging-using-cloudtrail.md).

### Amazon-EC2-Schlüsselpaare
<a name="emr-benefits-key-pairs"></a>

Indem Sie eine sichere Verbindung zwischen Ihrem Remotecomputer und dem Primärknoten herstellen, können Sie Ihren Cluster überwachen und damit interagieren. Sie verwenden das Netzwerkprotokoll Secure Shell (SSH) für diese Verbindung oder Kerberos für die Authentifizierung. Wenn Sie SSH verwenden, ist ein Amazon-EC2-Schlüsselpaar erforderlich. Weitere Informationen finden Sie unter [Verwenden Sie ein EC2-Schlüsselpaar für SSH-Anmeldeinformationen für Amazon EMR](emr-plan-access-ssh.md).

## Überwachen
<a name="emr-benefits-monitoring"></a>

Sie können die Amazon-EMR-Management-Schnittstellen und Protokolldateien verwenden, um Probleme mit dem Cluster zu beheben, z. B. bei Ausfällen oder Fehlern. Amazon EMR bietet die Möglichkeit, Protokolldateien in Amazon S3 zu archivieren, sodass Sie Protokolle speichern und Probleme beheben können, auch nachdem der Cluster beendet wurde. Amazon EMR bietet in der Amazon-EMR-Konsole auch ein optionales Debugging-Tool, mit dem Sie die Protokolldateien im Hinblick auf Schritte, Aufträge und Aufgaben durchsuchen können. Weitere Informationen finden Sie unter [Amazon EMR-Cluster-Protokollierung und Debugging konfigurieren](emr-plan-debugging.md).

Amazon EMR lässt sich integrieren CloudWatch , um Leistungskennzahlen für den Cluster und Jobs innerhalb des Clusters nachzuverfolgen. Sie können Alarme im Hinblick auf eine Vielzahl von Metriken konfigurieren, z. B. ob der Cluster inaktiv ist oder wie viel Prozent des Speicherplatzes verbraucht wurden. Weitere Informationen finden Sie unter [Überwachung von Amazon EMR-Metriken mit CloudWatch](UsingEMR_ViewingMetrics.md).

## Verwaltungsschnittstellen
<a name="emr-what-tools"></a>

 Es gibt mehrere Möglichkeiten, mit Amazon EMR zu interagieren: 
+ **Konsole** – eine grafische Benutzerschnittstelle, die Sie verwenden können, um Clusters zu starten oder zu verwalten. Hier füllen Sie Webformulare aus, um Detaildaten zum Starten von Clusters anzugeben, Detaildaten von vorhandenen Clusters anzuzeigen und Clusters zu debuggen bzw. zu beenden. Die Konsole bietet die einfachste Möglichkeit für die ersten Schritte mit Amazon EMR keine Programmierkenntnisse erforderlich. Die Konsole ist zu [https://console.aws.amazon.com/elasticmapreduce/Hause](https://console.aws.amazon.com/elasticmapreduce/home) online verfügbar. 
+ **AWS Command Line Interface (AWS CLI)** — Eine Client-Anwendung, die Sie auf Ihrem lokalen Computer ausführen, um eine Verbindung zu Amazon EMR herzustellen und Cluster zu erstellen und zu verwalten. Das AWS CLI enthält eine Reihe von Befehlen mit vielen Funktionen, die speziell für Amazon EMR gelten. Damit schreiben Sie Skripts, die das Starten und Verwalten der Clusters automatisieren. Wenn Sie lieber von einer Befehlszeile aus arbeiten, AWS CLI ist die Verwendung von die beste Option. Weitere Informationen und Beispiele finden Sie unter [Amazon EMR](https://docs.aws.amazon.com/cli/latest/reference/emr/index.html) in der *AWS CLI -Befehlsreferenz*.
+ **Software Development Kit (SDK)** — SDKs stellt Funktionen bereit, die Amazon EMR aufrufen, um Cluster zu erstellen und zu verwalten. Mit ihnen können Sie Anwendungen schreiben, die das Erstellen und Verwalten von Clusters automatisieren. Die Verwendung des SDK ist die beste Option, wenn Sie die Funktionen von Amazon EMR erweitern oder anpassen möchten. Amazon EMR ist derzeit in den folgenden Versionen verfügbarSDKs: Go, Java, .NET (C\$1 und VB.NET), Node.js, PHP, Python und Ruby. Weitere Informationen dazu finden Sie SDKs unter [Tools for AWS](https://aws.amazon.com/tools/) und [Amazon EMR-Beispielcode und Bibliotheken](https://docs.aws.amazon.com/code-library/latest/ug/emr_code_examples.html). 
+ **Web Service API** – eine Low-Level-Schnittstelle, die Sie benutzen können, um den Webservice direkt mithilfe von JSON aufzurufen. Die Verwendung der API ist die beste Option, wenn Sie ein eigenes SDK erstellen wollen, das Amazon EMR aufruft. Weitere Informationen finden Sie in der [Amazon-EMR-API-Referenz](https://docs.aws.amazon.com/ElasticMapReduce/latest/API/Welcome.html). 

# Amazon EMR-Architektur und Service-Ebenen
<a name="emr-overview-arch"></a>

Die Service-Architektur von Amazon EMR besteht aus mehreren Ebenen, die dem Cluster jeweils bestimmte Möglichkeiten und Funktionen bereitstellen. Dieser Abschnitt bietet eine Übersicht über die jeweiligen Ebenen und Komponenten.

**Topics**
+ [Speicher](#emr-arch-storage)
+ [Cluster-Ressourcenverwaltung](#emr-arch-resource-management)
+ [Datenverarbeitungs-Frameworks](#emr-arch-processing-frameworks)
+ [Anwendungen und Programme](#emr-arch-applications)

## Speicher
<a name="emr-arch-storage"></a>

Die Speicherschicht umfasst die verschiedenen Dateisysteme, die Sie in Ihrem Cluster verwendet werden. Es gibt mehrere verschiedene Speicheroptionen wie nachfolgend beschrieben.

### Hadoop Distributed File System (HDFS)
<a name="emr-storage-hdfs"></a>

Hadoop Distributed File System (HDFS) ist ein verteiltes, skalierbares Dateisystem für Hadoop. HDFS verteilt die auf verschiedenen Instances im Cluster gespeicherten Daten, wobei mehrere Kopien von Daten auf unterschiedlichen Instances gespeichert werden, um sicherzustellen, dass bei Ausfall einer einzelnen Instance keine Daten verloren gehen. HDFS ist flüchtiger Speicher, der zurückgefordert wird, wenn Sie einen Cluster beenden. HDFS ist nützlich für das Zwischenspeichern von Zwischenergebnissen während der MapReduce Verarbeitung oder für Workloads mit erheblichen zufälligen I/O-Vorgängen. 

Weitere Informationen finden Sie unter [Speicheroptionen und Verhalten von Instances in Amazon EMR](emr-plan-storage.md) im [HDFS-Benutzerhandbuch](http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html) auf der Website von Apache Hadoop.

### EMR File System (EMRFS)
<a name="emr-storage-emrfs"></a>

Amazon EMR erweitert mittels des EMR File System (EMRFS) Hadoop durch die Hinzufügung des direkten Zugriffs auf in Amazon S3 gespeicherte Daten, als ob es sich um ein Dateisystem wie HDFS handeln würde. Sie können entweder HDFS oder Amazon S3 als das Dateisystem Ihres Clusters verwenden. In der Regel wird Amazon S3 zum Speichern der Ein- und Ausgabedaten verwendet, Zwischenergebnisse werden in HDFS gespeichert.

### Lokales Dateisystem
<a name="emr-storage-lfs"></a>

Das lokale Dateisystem bezieht sich auf einen lokal verbundenen Datenträger. Wenn Sie einen Hadoop-Cluster erstellen, werden die einzelnen Knoten aus einer Amazon-EC2-Instance erstellt, die einen vorkonfigurierten Block mit bereits zugeordnetem Festplattenspeicher, einen sogenannten Instance-Speicher, aufweist. Die Daten auf den Instance-Speicher-Volumes bleiben nur während des Lebenszyklus der Amazon-EC2-Instance erhalten.

## Cluster-Ressourcenverwaltung
<a name="emr-arch-resource-management"></a>

Der Ressourcenverwaltungs-Layer ist verantwortlich für die Verwaltung der Cluster-Ressourcen und die Planung der Aufträge für die Datenverarbeitung.

Amazon EMR verwendet standardmäßig YARN (Yet Another Resource Negotiator). Dabei handelt es sich um eine Komponente, die in Apache Hadoop 2.0 eingeführt wurde und mit der die Cluster-Ressourcen für mehrere Datenverarbeitungs-Frameworks zentral verwaltet werden können. Es gibt jedoch auch andere Frameworks und Anwendungen, die in Amazon EMR bereitgestellt werden und nicht YARN als Ressourcenmanager verwenden. Amazon EMR verfügt außerdem auf jedem Knoten, der YARN-Komponenten verwaltet, über einen Agenten, der den Cluster stabil erhält und mit dem Amazon-EMR-Service kommuniziert.

Da Spot Instances häufig zum Ausführen von Aufgabenknoten verwendet werden, verfügt Amazon EMR über Standardfunktionen für die Planung von YARN-Aufträge, sodass laufende Aufträge nicht fehlschlagen, wenn Aufgabenknoten, die auf Spot Instances ausgeführt werden, beendet werden. Amazon EMR ermöglicht dies, indem Anwendungsmasterprozesse nur auf Core-Knoten ausgeführt werden können. Der Anwendungsmasterprozess steuert die Ausführung von Aufträgen und muss während der gesamten Laufzeit des Auftrags aktiv bleiben.

Amazon-EMR-Version 5.19.0 und höher verwendet zu diesem Zweck das integrierte [YARN-Knotenbeschriftungsfeature](https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/NodeLabel.html). (Frühere Versionen verwendeten einen Code-Patch). Die Eigenschaften in den Klassifizierungen `yarn-site` und in der `capacity-scheduler`-Konfiguration sind standardmäßig so konfiguriert, dass der YARN-Kapazitätsplaner und der Fair-Scheduler die Vorteile von Knotenbezeichnungen nutzen. Amazon EMR kennzeichnet Core-Knoten automatisch mit dem `CORE`-Label und legt Eigenschaften fest, sodass Anwendungsmaster nur für Knoten mit dem CORE-Label geplant werden. Durch manuelles Ändern verwandter Eigenschaften in den Konfigurationsklassifizierungen von Yarn-Site und Kapazitätsplaner oder direkt in den zugehörigen XML-Dateien könnte diese Feature beeinträchtigt oder verändert werden.

## Datenverarbeitungs-Frameworks
<a name="emr-arch-processing-frameworks"></a>

Der Datenverarbeitungs-Framework-Layer ist die Engine, die zur Verarbeitung und Analyse der Daten verwendet wird. Es stehen viele Frameworks zur Verfügung, die auf YARN ausgeführt werden oder über ihre eigene Ressourcenverwaltung verfügen. Es gibt unterschiedliche Frameworks für die verschiedenen Verarbeitungsanforderungen, beispielsweise Stapel, Interaktiv, In-Memory, Streaming und so weiter. Das Framework, das Sie auswählen sollten, hängt von Ihrem Anwendungsfall ab. Dies wirkt sich auf die Sprachen und Schnittstellen der Anwendungsebene aus, d. h. der Ebene, über die mit den zu verarbeitenden Daten interagiert wird. Die wichtigsten für Amazon EMR verfügbaren Verarbeitungs-Frameworks sind Hadoop MapReduce und Spark. 

### Hadoop MapReduce
<a name="emr-processing-framework-mapreduce"></a>

Hadoop MapReduce ist ein Open-Source-Programmiermodell für verteiltes Rechnen. Es vereinfacht den Prozess der Entwicklung paralleler verteilter Anwendungen, indem die gesamte Logik gehandhabt wird, während Sie die Funktionen "Map" und "Reduce" bereitstellen. Die Funktion "Map" führt eine Zuordnung von Daten und Sätzen von Schlüssel/Wert-Paaren durch, die als Zwischenergebnisse bezeichnet werden. Die Funktion "Reduce" kombiniert die Zwischenergebnisse, wendet weitere Algorithmen an und generiert das Endergebnis. Es stehen mehrere Frameworks zur Verfügung MapReduce, z. B. Hive, das automatisch Map- und Reduce-Programme generiert.

Weitere Informationen finden Sie unter [Wie Karten- und Reduziervorgänge tatsächlich ausgeführt werden](http://wiki.apache.org/hadoop2/HadoopMapReduce) auf der Wiki-Website von Apache Hadoop.

### Apache Spark
<a name="emr-processing-framework-spark"></a>

Spark ist ein Cluster-Framework und Programmiermodell für die Verarbeitung von Big-Data-Workloads. Wie Hadoop MapReduce ist Spark ein verteiltes Open-Source-Verarbeitungssystem, verwendet jedoch gerichtete azyklische Graphen für Ausführungspläne und In-Memory-Caching für Datensätze. Wenn Sie Spark auf Amazon EMR ausführen, können Sie über EMRFS direkt auf Ihre Daten in Amazon S3 zugreifen. Spark unterstützt mehrere interaktive Abfragen Module wie beispielsweise SparkSQL.

Weitere Informationen finden Sie unter [Apache Spark in Amazon-EMR-Clusters](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark.html) in den *Amazon-EMR-Versionshinweise*.

## Anwendungen und Programme
<a name="emr-arch-applications"></a>

Amazon EMR unterstützt zahlreiche Anwendungen, wie Hive, Pig, und die Spark Streaming-Bibliothek, um beispielsweise mithilfe komplexerer Programmiersprachen Verarbeitungs-Workloads zu erstellen, Machine-Learning-Algorithmen zu nutzen, Anwendungen für die Stream-Verarbeitung zu erstellen und Data Warehouses zu entwickeln. Darüber hinaus unterstützt Amazon EMR auch Open-Source-Projekte, die ihre eigene Cluster-Management-Funktionalität mitbringen und nicht YARN verwenden.

Sie können verschiedene Bibliotheken und Sprachen verwenden, um mit den Anwendungen, die Sie in Amazon EMR ausführen, zu interagieren. Sie können beispielsweise Java, Hive oder Pig mit MapReduce oder Spark Streaming, Spark SQL und GraphX mit Spark verwenden. MLlib

Weitere Informationen finden Sie im [Handbuch zu Amazon-EMR-Versionen](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/).