Datopia avec Hadoop Yarn

HadoopBeginner
Pratiquer maintenant

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.

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.

Résumé

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.