Instance-Speicher - Amazon EMR

Instance-Speicher

Der Instance-Speicher und der Amazon.EBS-Volume-Speicher werden für HDFS-Daten sowie für Puffer, Caches, Arbeitsdaten und andere temporäre Inhalte verwendet, die einige Anwendungen möglicherweise in das lokale Dateisystem „verschütten“.

Amazon EBS funktioniert in Amazon EMR anders als mit regulären Amazon-EC2-Instances. An Amazon-EMR-Cluster angefügte Amazon-EMR-Volumes sind beispielsweise flüchtig: Die Volumes werden beim Beenden des Clusters und der Instance gelöscht (z. B. beim Verkleinern von Instance-Gruppen). Daher ist es wichtig, nicht davon ausgehen, dass Daten dauerhaft gespeichert werden. Obwohl die Daten flüchtig sind, ist es möglich, dass Daten in HDFS abhängig von der Anzahl und der Spezialisierung der Knoten im Cluster repliziert werden. Wenn Sie Amazon-EBS-Speichervolumes hinzufügen, werden diese als zusätzliche Volumes bereitgestellt. Sie sind nicht Teil des Startvolumes. YARN ist so konfiguriert, dass alle zusätzlichen Volumes verwendet werden. Sie sind jedoch dafür verantwortlich, die zusätzlichen Volumes als lokalen Speicher (z. B. für lokale Protokolldateien) zuzuweisen.

Weitere Einschränkungen bei der Verwendung von Amazon EBS mit Amazon-EMR-Clustern sind:

  • Sie können nicht einen Snapshot eines Amazon-EBS-Volumes erstellen und dann innerhalb von Amazon EMR wiederherstellen. Um wiederverwendbare benutzerdefinierte Konfigurationen zu erstellen, verwenden Sie ein benutzerdefiniertes AMI (verfügbar ab Version 5.7.0 von Amazon EMR). Weitere Informationen finden Sie unter Verwenden eines benutzerdefinierten AMI.

  • Ein verschlüsseltes Amazon-EBS-Root-Volume wird nur unterstützt, wenn Sie ein benutzerdefiniertes AMI verwenden. Weitere Informationen finden Sie unter Erstellen eines benutzerdefinierten AMI mit einem verschlüsselten Amazon-EBS-Root-Gerät-Datenträger.

  • Wenn Sie Tags mit der Amazon-EMR-Webservice-API zuweisen, werden diese Operationen auf EBS-Volumes angewendet.

  • Es gilt eine Beschränkung von 25 Volumes pro Instance.

  • Die Amazon-EBS-Volumes auf den Core-Knoten dürfen nicht weniger als 5 GB groß sein.

Amazon-EBS-Standardspeicher für Instances

Amazon EMR fügt automatisch ein Amazon-EBS-Allzweck-Volume SSD (gp2) mit 10 GB als Root-Gerät für die AMIs an, um die Leistung zu steigern. Darüber hinaus weist Amazon EMR für EC2-Instances mit reinem EBS-Speicher den Instances Amazon-EBS-GP2-Speichervolumes zu. Wenn Sie einen Cluster mit der Amazon-EMR-Version 5.22.0 und höher erstellen, erhöht sich die Standardmenge des Amazon-EBS-Speichers basierend auf der Größe der Instance. Wir teilen den erhöhten Speicher auf mehrere Volumes auf, was zu einer höheren IOPS-Leistung und damit wiederum zu einer höheren Leistung für einige standardisierte Workloads führt. Wenn Sie eine andere Amazon-EBS-gp2-Instance-Speicherkonfiguration verwenden möchten, können Sie diese beim Erstellen eines Amazon-EMR-Clusters bzw. beim Hinzufügen von Knoten zu einem Cluster angeben. Derzeit können Amazon-EBS-GP3-Volumes nicht als Root-Volumes in einem Amazon-EMR-Cluster verwendet werden. Sie können Amazon-EBS-GP2-Volumes nur als Root-Volumes verwenden und GP3-Volumes als zusätzliche Volumes hinzufügen. In der folgenden Tabelle sind die Standardanzahl von Amazon-EBS-GP2-Speicher-Volumes, Größen und Gesamtgrößen pro Instance-Typ aufgeführt.

Amazon-EBS-Kosten werden anteilig nach Stunde berechnet. Dies erfolgt auf der Grundlage der monatlichen Gebühren für gp2-Volumes in der AWS-Region, in der der Cluster ausgeführt wird. Die Amazon-EBS-Kosten pro Stunde für das Root-Volume auf jeden Cluster-Knoten in einer Region, in der 0,10 USD/GB/Monat berechnet werden, belaufen sich beispielsweise auf etwa 0,00139 USD pro Stunde (0,10 USD/GB/Monat dividiert durch 30 Tage dividiert durch 24h multipliziert mit 10 GB).

Standardmäßige Amazon-EBS-GP2-Speichervolumes und -größe nach Instance-Typ für Amazon EMR 5.22.0 und höher
Instance-Größe Anzahl der Volumes Volume-Größe (GiB) Gesamtgröße (GB)

*.large

1

32

32

*.xlarge

2

32

64

*.2xlarge

4

32

128

*.4xlarge

4

64

256

*.8xlarge

4

128

512

9xlarge

4

144

576

10xlarge

4

160

640

12xlarge

4

192

768

*.16xlarge

4

256

1024

18xlarge

4

288

1 152

24xlarge

4

384

1536

Angeben zusätzlicher EBS-Speicher-Volumes

Wenn Sie Instance-Typen in Amazon EMR konfigurieren, können Sie zusätzliche EBS-Volumes angeben, um Kapazität über den Instance-Speicher (falls vorhanden) und das Standard-EBS-Volume hinaus hinzuzufügen. Amazon EBS bietet die folgenden Volume-Typen: Allzweck (SSD), Bereitgestellte IOPS (SSD), durchsatzoptimiert (HDD), Cold (HDD) und Magnetfestplatte. Diese unterscheiden sich bei den Leistungsmerkmalen und im Preis, sodass Sie Ihren Speicher den Analyse- und Business-Anforderungen Ihrer Anwendungen entsprechend anpassen können. Beispielsweise benötigen einige Anwendungen den Überlauf auf Datenträger, während andere im Speicher oder unter Verwendung Amazon S3 sicher arbeiten können.

Sie können Amazon-EBS-Volumes nur beim Cluster-Startup und beim Hinzufügen einer zusätzlichen Aufgabenknoten-Instance-Gruppe an Instances anhängen. Wenn eine Instance in einem Amazon-EMR-Cluster ausfällt, werden sowohl die Instance als auch die angeschlossenen Amazon-EBS-Volumes durch neue Volumes ersetzt. Wenn Sie ein Amazon-EBS-Volume manuell trennen, behandelt Amazon EMR dies als Fehler und ersetzt sowohl den Instance-Speicher (falls zutreffend) als auch die Volume-Speicher.

Amazon EMR erlaubt Ihnen nicht, Ihren Volumetyp für einen vorhandenen EMR-Cluster von gp2 auf gp3 zu ändern. Um gp3 für Ihre Workloads/Anwendungsfälle zu verwenden, müssen Sie einen neuen EMR-Cluster starten. Darüber hinaus empfehlen wir nicht, den Durchsatz und die IOPS auf einem Cluster zu aktualisieren, der verwendet wird oder bereitgestellt wird, da Amazon EMR den Durchsatz und die IOPS-Werte verwendet, die Sie beim Clusterstart für jede neue Instance angegeben haben, die Sie beim Cluster-Scale-up hinzugefügt haben. Siehe Vergleichen der Amazon-EBS-Volumetypen gp2 und gp3 und Auswahl von IOPS und Durchsatz bei der Migration zu gp3.

Wichtig

Um ein gp3-Volume mit Ihrem EMR-Cluster zu verwenden, starten Sie einen neuen EMR-Cluster mit der API, dem SDK oder der CLI.