Hadoop Hadoop YARN Grundeinrichtung

HadoopHadoopBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In einer zukunftsträchtigen Roboterfabrik, in der Spitzentechnologie mit Präzisionskonstruktion zusammenkommt, übernehmen Sie die Rolle eines Roboterwartungstechnikers. Ihr primäres Ziel ist es, die effiziente Zuweisung und Verwaltung von Rechenressourcen innerhalb des komplexen Netzwerks der Fabrik sicherzustellen. Dieses Netzwerk antreibt die kognitiven Funktionen der Roboter, wodurch sie komplexe Aufgaben mit unerreicherbarer Genauigkeit und Geschwindigkeit ausführen können.

Die Recheninfrastruktur der Fabrik basiert auf der Hadoop-Ekosystem, insbesondere auf der YARN (Yet Another Resource Negotiator)-Komponente. Ihr Ziel ist es, die grundlegende Einrichtung von Hadoop YARN zu beherrschen, was Ihnen ermöglicht, die Rechenbelastungen der Fabrik nahtlos über mehrere Knoten zu verteilen und zu verwalten, um eine optimale Leistung und Ressourcennutzung sicherzustellen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopYARNGroup(["Hadoop YARN"]) hadoop/HadoopYARNGroup -.-> hadoop/yarn_setup("Hadoop YARN Basic Setup") hadoop/HadoopYARNGroup -.-> hadoop/yarn_jar("Yarn Commands jar") hadoop/HadoopYARNGroup -.-> hadoop/yarn_node("Yarn Commands node") hadoop/HadoopYARNGroup -.-> hadoop/resource_manager("Resource Manager") hadoop/HadoopYARNGroup -.-> hadoop/node_manager("Node Manager") subgraph Lab Skills hadoop/yarn_setup -.-> lab-289015{{"Hadoop Hadoop YARN Grundeinrichtung"}} hadoop/yarn_jar -.-> lab-289015{{"Hadoop Hadoop YARN Grundeinrichtung"}} hadoop/yarn_node -.-> lab-289015{{"Hadoop Hadoop YARN Grundeinrichtung"}} hadoop/resource_manager -.-> lab-289015{{"Hadoop Hadoop YARN Grundeinrichtung"}} hadoop/node_manager -.-> lab-289015{{"Hadoop Hadoop YARN Grundeinrichtung"}} end

Entdecken Sie die YARN-Architektur

In diesem Schritt werden wir die YARN-Architektur und ihre wichtigsten Komponenten untersuchen und so die Grundlage für das Verständnis dafür legen, wie sie die Ressourcen innerhalb des Hadoop-Ekosystems verwaltet und zuweist.

Die YARN-Architektur besteht aus zwei Hauptkomponenten:

  1. ResourceManager (RM): Der ResourceManager fungiert als zentrale Instanz, die die verfügbaren Ressourcen (CPU, Arbeitsspeicher usw.) im gesamten Cluster verhandelt und zuweist. Er besteht aus zwei Komponenten:

    • Scheduler: Verantwortlich für die Zuweisung von Ressourcen an die verschiedenen laufenden Anwendungen basierend auf vordefinierten Scheduling-Policies.
    • ApplicationsManager: Verantwortlich für das Annehmen von Auftragseinreichungen, das Verhandeln des ersten Ressourcencontainers für die Ausführung des ApplicationMasters und das Bereitstellen des Diensts zum Neustarten des ApplicationMaster-Containers bei einem Fehler.
  2. NodeManager (NM): Der NodeManager läuft auf jedem Knoten im Cluster und ist für die Verwaltung der Knotenressourcen und die Überwachung der auf diesem Knoten laufenden Container verantwortlich.

Um die YARN-Architektur besser zu verstehen, wechseln wir in das Hadoop-Konfigurationsverzeichnis und untersuchen die relevanten Konfigurationsdateien.

Aber zunächst müssen wir den Benutzer wechseln:

su - hadoop

Navigieren Sie zum Hadoop-Konfigurationsverzeichnis:

cd /home/hadoop/hadoop/etc/hadoop/

Öffnen Sie die Datei yarn-site.xml mit dem vim-Tool:

<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
</configuration>

In dieser Konfigurationsdatei können wir sehen, dass der mapreduce_shuffle-Hilfsdienst für den NodeManager aktiviert ist. Dieser Dienst ist für die Verwaltung der Shuffle-Operationen in MapReduce-Aufträgen verantwortlich und gewährleistet eine effiziente Datenübertragung zwischen den Map- und Reduce-Phasen.

Starten Sie die YARN-Dienste

Jetzt, nachdem wir die YARN-Architektur und ihre Konfiguration untersucht haben, starten wir die YARN-Dienste auf unserem Hadoop-Cluster.

Zunächst starten Sie die YARN-Dienste mit dem folgenden Befehl:

start-yarn.sh

Dieses Skript startet die ResourceManager- und NodeManager-Dämonen auf den entsprechenden Knoten im Cluster.

Verfolgen Sie den Prozess der YARN-Dienste mit dem folgenden Befehl:

jps

Der NodeManager- und der ResourceManager-Dienst sollten in der Ausgabe sichtbar sein.

Sie können den Status der YARN-Dienste überprüfen, indem Sie folgenden Befehl verwenden:

yarn node -list

Dieser Befehl zeigt eine Liste der aktiven NodeManager im Cluster zusammen mit ihrem Status und den verfügbaren Ressourcen an.

2024-03-17 19:27:30,108 INFO client.DefaultNoHARMFailoverProxyProvider: Connecting to ResourceManager at /0.0.0.0:8032
Total Nodes:1
         Node-Id	     Node-State	Node-Http-Address	Number-of-Running-Containers
iZj6cdofomqja8ye7wk8kzZ:43689	        RUNNING	iZj6cdofomqja8ye7wk8kzZ:8042	                           0

In der obigen Ausgabe können wir sehen, dass ein aktiver NodeManager läuft.

Stellen Sie einen YARN-Auftrag ein

Mit den YARN-Diensten gestartet und im Betrieb, stellen wir einen Beispielauftrag ein, um die Ressourcenallokations- und Scheduling-Fähigkeiten von YARN zu testen.

Zunächst erstellen Sie in der Hadoop-Dateisystem einen Eingabetextfile namens input.txt, das den Textinhalt enthält, der gewertet werden soll.

echo -e "Hello World\nHello Hadoop\nYARN is cool" > input.txt
hadoop fs -put input.txt /input.txt

Anschließend befindet sich die JAR-Datei für das Beispielprogramm im Hadoop-Installationsverzeichnis, das normalerweise unter $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar zu finden ist. Sie können diese JAR-Datei verwenden, um das Word Count-Programm auszuführen.

yarn jar /home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /input.txt /output

Dieser Befehl wird den MapReduce-Auftrag an den YARN ResourceManager senden, der die Ressourcen zuweisen und den Auftrag über die verfügbaren NodeManager planen wird.

Sobald der Auftrag abgeschlossen ist, können Sie die Ausgabe im Verzeichnis /output anzeigen:

hdfs dfs -cat /output/part-r-00000

Dies sollte die Wortzählausgabe anzeigen:

Hadoop	1
Hello	2
World	1
YARN	1
cool	1
is	1

Zusammenfassung

In diesem Lab haben wir die YARN-Architektur und ihre wichtigsten Komponenten untersucht, gelernt, wie man die YARN-Dienste konfiguriert und startet, und einen Beispiel-MapReduce-Auftrag an den YARN-Cluster gestellt. Durch die Durchführung dieses Labs haben Sie praktische Erfahrungen mit der grundlegenden Einrichtung und dem Betrieb von Hadoop YARN gewonnen, was es Ihnen ermöglicht, Rechenressourcen effizient in einer verteilten Umgebung zu verwalten und zuzuweisen.

Das Lab hat nicht nur ein praktisches Verständnis von YARN vermittelt, sondern auch die Wichtigkeit der Ressourcenverwaltung und -planung in modernen Recheninfrastrukturen hervorgehoben. Als Roboterwartungstechniker in einer zukunftsträchtigen Fabrik wird das Erlernen dieser Fähigkeiten Ihnen ermöglichen, die Leistung und Effizienz der Rechenressourcen der Fabrik zu optimieren und so eine reibungslose und zuverlässige Betriebsweise der Roboter sicherzustellen.