Datopia avec Hadoop Yarn

HadoopHadoopBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans une terre magique appelée Datopia, où l'information circule comme des torrents de savoir pur, vivait une créature curieuse appelée Datina. Le seul but de Datina était de comprendre le fonctionnement complexe du royaume des données et d'en exploiter le potentiel. Un jour, Datina tomba sur une force mystérieuse connue sous le nom de Hadoop, un outil puissant capable de traiter d'énormes quantités de données. Cependant, pour libérer pleinement ses capacités, Datina devait maîtriser l'art d'exécuter des commandes Yarn et de manipuler des fichiers jar.

Le but de ce laboratoire est de guider Datina dans le processus d'utilisation des commandes Yarn et des fichiers jar dans l'écosystème Hadoop. En complétant ce laboratoire, Datina acquerra les compétences nécessaires pour gérer et exécuter efficacement des applications, libérant le véritable potentiel de Hadoop dans la terre de Datopia.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopYARNGroup(["Hadoop YARN"]) hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) hadoop(("Hadoop")) -.-> hadoop/HadoopMapReduceGroup(["Hadoop MapReduce"]) 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 avec Hadoop Yarn"}} hadoop/fs_ls -.-> lab-289011{{"Datopia avec Hadoop Yarn"}} hadoop/mappers_reducers -.-> lab-289011{{"Datopia avec Hadoop Yarn"}} hadoop/yarn_setup -.-> lab-289011{{"Datopia avec Hadoop Yarn"}} hadoop/yarn_app -.-> lab-289011{{"Datopia avec Hadoop Yarn"}} hadoop/yarn_log -.-> lab-289011{{"Datopia avec Hadoop Yarn"}} hadoop/yarn_jar -.-> lab-289011{{"Datopia avec Hadoop Yarn"}} hadoop/yarn_node -.-> lab-289011{{"Datopia avec Hadoop Yarn"}} hadoop/hive_setup -.-> lab-289011{{"Datopia avec Hadoop Yarn"}} end

Explorer l'environnement Hadoop

Dans cette étape, nous allons nous familiariser avec l'environnement Hadoop et nous assurer que tous les composants nécessaires sont correctement configurés.

Tout d'abord, pour basculer sur l'utilisateur hadoop :

su - hadoop

Ensuite, pour vérifier la version de Hadoop :

hadoop version

Vous devriez voir une sortie similaire à ceci :

Hadoop 3.3.6
...

Lister les fichiers jar disponibles

Dans cette étape, nous allons apprendre à lister les fichiers jar disponibles dans l'environnement Hadoop. Ces fichiers jar contiennent des applications et des utilitaires prédéfinis qui peuvent être exécutés à l'aide de commandes Yarn.

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

La sortie affichera une liste de fichiers jar situés dans le répertoire $HADOOP_HOME/share/hadoop/mapreduce. Ces fichiers jar peuvent être utilisés avec des commandes Yarn pour exécuter diverses applications et utilitaires.

/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
...

Exécuter un fichier jar avec Yarn

Dans cette étape, nous allons apprendre à exécuter un fichier jar à l'aide de la commande yarn jar. Nous utiliserons le fichier jar hadoop-mapreduce-examples comme exemple.

Maintenant, exécutez l'exemple WordCount à partir du fichier jar hadoop-mapreduce-examples

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

Astuce : Vous pouvez lire le contenu du fichier avec hadoop fs -cat /home/hadoop/input/*

Le contenu du fichier d'entrée :

hello world
hello labex
hello Hadoop
hello Java

Dans la commande ci-dessus, nous spécifions le fichier jar hadoop-mapreduce-examples-3.3.6.jar, l'application à exécuter wordcount et les chemins d'entrée et de sortie /home/hadoop/input et /home/hadoop/output respectivement.

Après avoir exécuté la commande, vous devriez voir une sortie similaire à ceci :

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

Surveiller les applications Yarn

Dans cette étape, nous allons apprendre à surveiller et à gérer les applications Yarn à l'aide de diverses commandes.

Lister les applications Yarn en cours d'exécution :

yarn application -list

La sortie d'exemple dans le terminal :

UBMITTED, ACCEPTED, RUNNING, FINISHED, FAILED, KILLED] and 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

Obtenir l'état de l'application

yarn application -status <application_id>

La sortie d'exemple dans le terminal :

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

Tuer une application en cours d'exécution

yarn application -kill <application_id>

La sortie d'exemple dans le terminal :

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

Astuces : vous pouvez lister toutes les applications avec yarn application -list -appStates ALL

La commande yarn application vous permet de lister, de surveiller et de gérer les applications Yarn. Vous pouvez récupérer l'état de l'application et même tuer une application en cours d'exécution à l'aide des sous-commandes respectives.

Sommaire

Dans ce laboratoire, nous avons entrepris un voyage dans le pays de Datopia, où Datina, une créature curieuse, a cherché à débloquer le véritable potentiel des commandes Yarn et des fichiers jar d'Hadoop. En complétant ce laboratoire, Datina a acquis des compétences précieuses en listant les fichiers jar disponibles, en exécutant des applications à l'aide de la commande yarn jar et en surveillant et en gérant les applications Yarn.

Par des exercices pratiques, Datina a appris à naviguer dans l'environnement Hadoop, à exécuter des applications prédéfinies comme WordCount et à surveiller les applications en cours d'exécution à l'aide de diverses commandes Yarn. Ces compétences non seulement habilitent Datina à exploiter le pouvoir d'Hadoop, mais également jettent les bases pour une exploration et une maîtrise plus approfondies du domaine des données.

Ce laboratoire m'a défie à créer une expérience d'apprentissage captivante et informative, en combinant des concepts techniques avec un récit fantastique. En concevant un monde fictif et un personnage attachant, j'ai cherché à rendre le processus d'apprentissage plus agréable et accessible, en particulier pour les débutants. De plus, j'ai concentré mon attention sur la fourniture d'instructions claires, de fragments de code exemple et d'explications détaillées pour assurer un parcours d'apprentissage sans heurts.