Share Your AWS re:Post Experience - Quick 3 Question Survey
Help us improve AWS re:Post! We're interested in understanding how you use re:Post and its impact on your AWS journey. Please take a moment to complete our brief 3-question survey.
Wie konfiguriere oder ändere ich die YARN-Knotenbeschriftung in Amazon EMR?
Ich möchte die Apache Hadoop YARN-Knotenbeschriftung in Amazon EMR konfigurieren oder ändern.
Kurzbeschreibung
Die standardmäßigen Einstellungen für die YARN-Knotenbeschriftung hängen von deiner Version von Amazon EMR ab.
Amazon EMR-Versionen 5.19.x und höher in den Amazon EMR-5.x-Release-Versionen
Die Funktion der YARN-Knotenbeschriftungen ist standardmäßig aktiviert. Wenn du diese Funktion aktivierst, wird die CORE-Knotenbeschriftung für Core-Knoten mit den folgenden Eigenschaften erstellt:
yarn.node-labels.enabled: true yarn.node-labels.am.default-node-label-expression: 'CORE'
YARN ApplicationMaster-Container werden nur Core-Knoten zugewiesen. Für alle anderen Container gibt es keine Partitionsbeschränkung. Du kannst die Container entweder auf Core-Knoten oder auf Aufgabenknoten zuweisen.
Amazon EMR Version 6.x und höher
Die Funktion der YARN-Knotenbeschriftungen ist standardmäßig deaktiviert. Die Primärprozesse der Anwendung können sowohl auf Core- als auch auf Aufgabenknoten ausgeführt werden.
Lösung
Hinweis: Bevor du YARN-Knotenbeschriftungen in der Produktionsumgebung konfigurierst, empfiehlt es sich, sie in einer Testumgebung zu konfigurieren. Wenn du die Funktion der YARN-Knotenbeschriftung deaktivierst, wird der Application-Master-Container in einem beliebigen Knotentyp gestartet. Es gibt keine Einschränkung für Aufgabenknoten. Bei Aufgabenknoten, die mit Spot Instances der Amazon Elastic Compute Cloud (Amazon EC2) konfiguriert sind, schlagen die Aufträge, die ausgeführt werden, möglicherweise fehl, wenn der Aufgabenknoten aufgrund einer Spot-Kapazitätsbeschränkung ausfällt.
Deaktivierung von YARN-Beschriftungen in Amazon EMR-Version 5.19.x und höher in den Amazon EMR-5.x-Release-Versionen
Deaktivierung der YARN-Beschriftungsfunktion, wenn du einen EMR-Cluster erstellst
Führe die folgenden Schritte aus:
-
Füge im Abschnitt Software-Einstellungen bearbeiten unter Konfiguration eingeben die folgenden Eigenschaften hinzu:
[ { "Classification": "yarn-site", "Properties": { "yarn.node-labels.enabled": "false", "yarn.node-labels.am.default-node-label-expression": "" } } ]
-
Erstelle das folgende Skript mit der Erweiterung .sh und lade das Skript dann in einen Amazon Simple Storage Service (Amazon S3)-Bucket hoch:
#!/bin/bash sudo sed -i 's/yarn rmadmin.*-addToClusterNodeLabels "CORE(exclusive=false)"/echo "NO LABELS"/g' /var/aws/emr/bigtop-deploy/puppet/modules/hadoop/manifests/init.pp
-
Füge im Abschnitt Bootstrap-Aktionen das Skript als benutzerdefinierte Aktion hinzu und erstelle dann den Cluster.
-
Führe den folgenden Befehl im Primärknoten aus, um zu bestätigen, dass die Änderung angewendet wird:
yarn cluster --list-node-labels
Die Ausgabe zeigt einen leeren Wert für die Knotenbeschriftungen:
<<<<< Node Labels: >>>>>>
Deaktivierung der YARN-Beschriftungsfunktion in einem vorhandenen EMR-Cluster
Führe die folgenden Schritte aus:
-
Verwende SSH, um eine Verbindung zum Amazon EMR-Primärknoten herzustellen.
-
Erstelle eine Sicherungskopie deiner Datei yarn-site.xml. Der Pfad lautet :/etc/hadoop/conf/yarn-site.xml.
-
Führe den folgenden Befehl aus, um die Datei yarn-site.xml im Dateieditor-Modus zu öffnen:
sudo su vi yarn-site.xml
-
Ändere den Eigenschaftswert **yarn.node-labels.**in false:
<property> <name>yarn.node-labels.enabled</name> <value>false</value> </property>
-
Entferne den CORE-Wert in der Eigenschaft yarn.node-labels.am.default-node-label-expression:
<property> <name>yarn.node-labels.am.default-node-label-expression</name> <value></value> </property>
-
Wenn deine Cluster-Version neuer als 5.29.0 ist, führe die folgenden Befehle aus, um ResourceManager neu zu starten:
sudo systemctl restart hadoop-yarn-resourcemanager.service
sudo systemctl status hadoop-yarn-resourcemanager.service
-oder-
Wenn deine Cluster-Version 5.29.0 oder älter ist, führe die folgenden Befehle aus, um ResourceManager neu zu starten:sudo stop hadoop-yarn-resourcemanager
sudo start hadoop-yarn-resourcemanager
-
Führe den folgenden Befehl aus, um dich zu vergewissern, dass die Änderung übernommen wurde:
yarn cluster --list-node-labels
Die Ausgabe zeigt einen leeren Wert für die Knotenbeschriftungen:
<<<<< Node Labels: >>>>>>
Aktivierung der YARN-Beschriftungsfunktion in Amazon EMR Version 6.x und höher
Aktivierung der YARN-Beschriftungsfunktion, wenn du einen EMR-Cluster erstellst
-
Füge im Abschnitt Software-Einstellungen bearbeiten unter Konfiguration eingeben die folgenden Eigenschaften hinzu:
[ { "Classification": "yarn-site", "Properties": { "yarn.node-labels.enabled": "true", "yarn.node-labels.am.default-node-label-expression": "CORE" } } ]
-
Führe den folgenden Befehl im Primärknoten aus, um zu bestätigen, dass die Änderung angewendet wird:
yarn cluster --list-node-labels
Die Ausgabe zeigt einen leeren Wert für die Knotenbeschriftungen:
<<<<< Node Labels: <CORE:exclusivity=false> >>>>>
Aktivierung der YARN-Beschriftungsfunktion in einem vorhandenen EMR-Cluster
Führe die folgenden Schritte aus:
-
Öffne die Amazon EMR-Konsole.
-
Wähle im Navigationsbereich Cluster aus, und wähle dann den Cluster aus, den du bearbeiten möchtest.
-
Wähle die Registerkarte Konfigurationen.
-
Wähle unter Konfigurationen der Instance-Gruppe eine Instance-Gruppe aus.
-
Wähle das Symbol Neu konfigurieren, wähle In JSON bearbeiten aus und füge dann die folgenden Eigenschaften hinzu:
[ { "Classification": "yarn-site", "Properties": { "yarn.node-labels.enabled": "true", "yarn.node-labels.am.default-node-label-expression": "CORE" } } ]
-
Wähle Apply this configuration to all active instance groups (Diese Konfiguration auf alle aktiven Instance-Gruppen anwenden) und speichere dann die Änderungen.
-
Führe den folgenden Befehl als hadoop-Benutzer im Primärknoten aus:
yarn rmadmin -addToClusterNodeLabels "CORE(exclusive=false)"
-
Führe den folgenden Befehl im Primärknoten aus, um zu bestätigen, dass die Änderung angewendet wird:
yarn cluster --list-node-labels
Die Ausgabe zeigt einen leeren Wert für die Knotenbeschriftungen:
<<<<< Node Labels: <CORE:exclusivity=false> >>>>>>

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor einem Monat