Datopia mit Hadoop Yarn

HadoopHadoopBeginner
Jetzt üben

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

Einführung

In einem märchenhaften Land namens Datopia, in dem Informationen wie Ströme reinsten Wissens fließen, lebte ein neugieriges Wesen namens Datina. Datinas einziger Zweck war es, die komplizierten Mechanismen des Datenreiches zu verstehen und sein Potenzial zu entfalten. Eines Tages stieß Datina auf eine mysteriöse Kraft namens Hadoop, ein leistungsstarkes Tool, das in der Lage ist, riesige Mengen an Daten zu verarbeiten. Um jedoch seine volle Kapazität freizusetzen, musste Datina die Kunst der Ausführung von Yarn-Befehlen und der Manipulation von Jar-Dateien meistern.

Ziel dieses Labors ist es, Datina durch den Prozess der Nutzung von Yarn-Befehlen und Jar-Dateien im Hadoop-Ekosystem zu leiten. Indem Datina dieses Labor abschließt, erwirbt es die erforderlichen Fähigkeiten, um Anwendungen effizient zu verwalten und auszuführen, und entfacht so das wahre Potenzial von Hadoop im Lande Datopia.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop(("Hadoop")) -.-> hadoop/HadoopMapReduceGroup(["Hadoop MapReduce"]) hadoop(("Hadoop")) -.-> hadoop/HadoopYARNGroup(["Hadoop YARN"]) hadoop/HadoopHDFSGroup -.-> hadoop/hdfs_setup("HDFS Setup") hadoop/HadoopHDFSGroup -.-> hadoop/fs_ls("FS Shell ls") hadoop/HadoopMapReduceGroup -.-> hadoop/mappers_reducers("Coding Mappers and Reducers") hadoop/HadoopYARNGroup -.-> hadoop/yarn_setup("Hadoop YARN Basic Setup") hadoop/HadoopYARNGroup -.-> hadoop/yarn_app("Yarn Commands application") hadoop/HadoopYARNGroup -.-> hadoop/yarn_log("Yarn Commands log") hadoop/HadoopYARNGroup -.-> hadoop/yarn_jar("Yarn Commands jar") hadoop/HadoopYARNGroup -.-> hadoop/yarn_node("Yarn Commands node") hadoop/HadoopHiveGroup -.-> hadoop/hive_setup("Hive Setup") subgraph Lab Skills hadoop/hdfs_setup -.-> lab-289011{{"Datopia mit Hadoop Yarn"}} hadoop/fs_ls -.-> lab-289011{{"Datopia mit Hadoop Yarn"}} hadoop/mappers_reducers -.-> lab-289011{{"Datopia mit Hadoop Yarn"}} hadoop/yarn_setup -.-> lab-289011{{"Datopia mit Hadoop Yarn"}} hadoop/yarn_app -.-> lab-289011{{"Datopia mit Hadoop Yarn"}} hadoop/yarn_log -.-> lab-289011{{"Datopia mit Hadoop Yarn"}} hadoop/yarn_jar -.-> lab-289011{{"Datopia mit Hadoop Yarn"}} hadoop/yarn_node -.-> lab-289011{{"Datopia mit Hadoop Yarn"}} hadoop/hive_setup -.-> lab-289011{{"Datopia mit Hadoop Yarn"}} end

Das Hadoop-Umgebung erkunden

In diesem Schritt werden wir uns mit der Hadoop-Umgebung vertraut machen und sicherstellen, dass alle erforderlichen Komponenten richtig konfiguriert sind.

Zunächst wechseln wir zum Benutzer hadoop:

su - hadoop

Anschließend überprüfen wir die Hadoop-Version:

hadoop version

Es sollten Ausgaben wie die folgenden erscheinen:

Hadoop 3.3.6
...

Verfügbare Jar-Dateien auflisten

In diesem Schritt werden wir lernen, wie man die verfügbaren Jar-Dateien in der Hadoop-Umgebung auflistet. Diese Jar-Dateien enthalten vorkompilierte Anwendungen und Hilfsprogramme, die mithilfe von Yarn-Befehlen ausgeführt werden können.

ls $HADOOP_HOME/share/hadoop/mapreduce/*.jar

Die Ausgabe wird eine Liste der Jar-Dateien im Verzeichnis $HADOOP_HOME/share/hadoop/mapreduce anzeigen. Diese Jar-Dateien können mit Yarn-Befehlen verwendet werden, um verschiedene Anwendungen und Hilfsprogramme auszuführen.

/home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-app-3.3.6.jar
/home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-common-3.3.6.jar
/home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-core-3.3.6.jar
...

Ein Jar-File mit Yarn ausführen

In diesem Schritt werden wir lernen, wie man ein Jar-File mit dem Befehl yarn jar ausführt. Wir werden das Jar-File hadoop-mapreduce-examples als Beispiel verwenden.

Führen Sie jetzt das WordCount-Beispiel aus der hadoop-mapreduce-examples-Jar-Datei aus

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

Tipp: Sie können den Inhalt der Datei mit hadoop fs -cat /home/hadoop/input/* lesen

Der Inhalt der Eingabedatei:

hello world
hello labex
hello Hadoop
hello Java

In dem obigen Befehl geben wir die Jar-Datei hadoop-mapreduce-examples-3.3.6.jar, die auszuführende Anwendung wordcount und die Eingabe- und Ausgabepfade /home/hadoop/input und /home/hadoop/output an.

Nach Ausführung des Befehls sollten Sie Ausgaben wie die folgenden sehen:

hadoop:~/ $ hadoop fs -cat /home/hadoop/output/*                     [19:54:17]
Hadoop	1
Java	1
hello	4
labex	1
world	1

Überwachen von Yarn-Anwendungen

In diesem Schritt werden wir lernen, wie man Yarn-Anwendungen mit verschiedenen Befehlen überwacht und verwaltet.

Liste laufende Yarn-Anwendungen:

yarn application -list

Das Beispielausgabe in der Konsole:

UBMITTED, ACCEPTED, RUNNING, FINISHED, FAILED, KILLED] und tags: []):1
                Application-Id	    Application-Name	    Application-Type	      User	     Queue	             State	       Final-State	       Progress	                       Tracking-URL
application_1711070937750_0001	          word count	           MAPREDUCE	    hadoop	   default	          FINISHED	         SUCCEEDED	           100%	http://iZj6cdxwclh8pms0k1vyyhZ:19888/jobhistory/job/job_1711070937750_0001

Erhalte den Status einer Anwendung

yarn application -status <application_id>

Das Beispielausgabe in der Konsole:

hadoop:~/ $ yarn application -status application_1711070937750_0001   [9:31:46]
2024-03-22 09:33:12,186 INFO client.DefaultNoHARMFailoverProxyProvider: Connecting to ResourceManager at /0.0.0.0:8032
2024-03-22 09:33:12,521 INFO conf.Configuration: resource-types.xml not found
2024-03-22 09:33:12,522 INFO resource.ResourceUtils: Unable to find'resource-types.xml'.
Application Report :
	Application-Id : application_1711070937750_0001
	Application-Name : word count
	Application-Type : MAPREDUCE
	User : hadoop
	Queue : default
	Application Priority : 0
	Start-Time : 1711071042168
	Finish-Time : 1711071057334

Beende eine laufende Anwendung

yarn application -kill <application_id>

Das Beispielausgabe in der Konsole:

hadoop:~/ $ yarn application -kill application_1711070937750_0001     [9:33:14]
2024-03-22 09:34:45,075 INFO client.DefaultNoHARMFailoverProxyProvider: Connecting to ResourceManager at /0.0.0.0:8032
Application application_1711070937750_0001 has already finished

Tipps: Sie können alle Anwendungen auflisten mit yarn application -list -appStates ALL

Der Befehl yarn application ermöglicht es Ihnen, Yarn-Anwendungen aufzulisten, zu überwachen und zu verwalten. Sie können den Status der Anwendung abrufen und sogar eine laufende Anwendung mit den jeweiligen Unterbefehlen beenden.

Zusammenfassung

In diesem Lab haben wir eine Reise durch das Land Datopia unternommen, wo Datina, ein neugieriges Wesen, versuchte, das wahre Potenzial von Hadoops Yarn-Befehlen und Jar-Dateien zu entfalten. Indem wir dieses Lab abgeschlossen haben, hat Datina wertvolle Kenntnisse in der Auflistung verfügbarer Jar-Dateien, im Ausführen von Anwendungen mit dem Befehl yarn jar und im Überwachen und Verwalten von Yarn-Anwendungen erworben.

Durch praktische Übungen hat Datina gelernt, sich in der Hadoop-Umgebung zurechtzufinden, vorkompilierte Anwendungen wie WordCount auszuführen und laufende Anwendungen mit verschiedenen Yarn-Befehlen zu überwachen. Diese Fähigkeiten ermächtigen Datina nicht nur, die Macht von Hadoop zu nutzen, sondern legen auch die Grundlage für weitere Exploration und Beherrschung der Datenwelt.

Dieses Lab hat mich herausgefordert, eine ansprechende und informierende Lernumgebung zu schaffen, indem ich technische Konzepte mit einer phantastischen Erzählung verbinde. Indem ich eine fiktive Welt und einen vertrauenswürdigen Charakter entwerfe, habe ich das Lernprozess angenehmer und zugänglicher gemacht, insbesondere für Einsteiger. Darüber hinaus habe ich mich darauf konzentriert, klare Anweisungen, Beispielcodeausschnitte und detaillierte Erklärungen bereitzustellen, um einen reibungslosen Lernweg zu gewährleisten.