Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente | |||
| eadl:bloc5:fm3:td1 [2026/09/12 00:19] – jcheron | eadl:bloc5:fm3:td1 [2026/09/12 00:20] (Version actuelle) – jcheron | ||
|---|---|---|---|
| Ligne 85: | Ligne 85: | ||
| Vérifier l’installation : | Vérifier l’installation : | ||
| - | <code bash> | + | <sxh bash> |
| docker --version | docker --version | ||
| docker compose version | docker compose version | ||
| Ligne 97: | Ligne 97: | ||
| Nous utilisons une image Docker Hadoop préconfigurée pour un environnement pédagogique. | Nous utilisons une image Docker Hadoop préconfigurée pour un environnement pédagogique. | ||
| - | <code bash> | + | <sxh bash> |
| git clone https:// | git clone https:// | ||
| cd docker-hadoop | cd docker-hadoop | ||
| Ligne 104: | Ligne 104: | ||
| Démarrer l’environnement : | Démarrer l’environnement : | ||
| - | <code bash> | + | <sxh bash> |
| docker compose up -d | docker compose up -d | ||
| </ | </ | ||
| Ligne 110: | Ligne 110: | ||
| Vérifier l’état des conteneurs : | Vérifier l’état des conteneurs : | ||
| - | <code bash> | + | <sxh bash> |
| docker compose ps | docker compose ps | ||
| </ | </ | ||
| Ligne 135: | Ligne 135: | ||
| Pour ouvrir un terminal dans le NameNode : | Pour ouvrir un terminal dans le NameNode : | ||
| - | <code bash> | + | <sxh bash> |
| docker compose exec namenode bash | docker compose exec namenode bash | ||
| </ | </ | ||
| Ligne 141: | Ligne 141: | ||
| Pour ouvrir un terminal dans le ResourceManager : | Pour ouvrir un terminal dans le ResourceManager : | ||
| - | <code bash> | + | <sxh bash> |
| docker compose exec resourcemanager bash | docker compose exec resourcemanager bash | ||
| </ | </ | ||
| Ligne 178: | Ligne 178: | ||
| Sur votre machine hôte, créer un fichier '' | Sur votre machine hôte, créer un fichier '' | ||
| - | <code python> | + | <sxh python> |
| import csv | import csv | ||
| import random | import random | ||
| Ligne 219: | Ligne 219: | ||
| Exécuter : | Exécuter : | ||
| - | <code bash> | + | <sxh bash> |
| python generer_donnees.py | python generer_donnees.py | ||
| </ | </ | ||
| Ligne 225: | Ligne 225: | ||
| Observer la taille du fichier : | Observer la taille du fichier : | ||
| - | <code bash> | + | <sxh bash> |
| ls -lh ventes.csv | ls -lh ventes.csv | ||
| wc -l ventes.csv | wc -l ventes.csv | ||
| Ligne 244: | Ligne 244: | ||
| Dans le conteneur '' | Dans le conteneur '' | ||
| - | <code bash> | + | <sxh bash> |
| hdfs dfs -mkdir -p / | hdfs dfs -mkdir -p / | ||
| hdfs dfs -mkdir -p / | hdfs dfs -mkdir -p / | ||
| Ligne 252: | Ligne 252: | ||
| Depuis la machine hôte, copier le fichier dans le conteneur : | Depuis la machine hôte, copier le fichier dans le conteneur : | ||
| - | <code bash> | + | <sxh bash> |
| docker cp ventes.csv docker-hadoop-namenode-1:/ | docker cp ventes.csv docker-hadoop-namenode-1:/ | ||
| </ | </ | ||
| Ligne 258: | Ligne 258: | ||
| Le nom exact du conteneur peut être vérifié avec : | Le nom exact du conteneur peut être vérifié avec : | ||
| - | <code bash> | + | <sxh bash> |
| docker ps | docker ps | ||
| </ | </ | ||
| Ligne 264: | Ligne 264: | ||
| Dans le conteneur '' | Dans le conteneur '' | ||
| - | <code bash> | + | <sxh bash> |
| hdfs dfs -put / | hdfs dfs -put / | ||
| </ | </ | ||
| Ligne 270: | Ligne 270: | ||
| Vérifier la présence du fichier : | Vérifier la présence du fichier : | ||
| - | <code bash> | + | <sxh bash> |
| hdfs dfs -ls -h / | hdfs dfs -ls -h / | ||
| </ | </ | ||
| Ligne 276: | Ligne 276: | ||
| Afficher quelques lignes : | Afficher quelques lignes : | ||
| - | <code bash> | + | <sxh bash> |
| hdfs dfs -cat / | hdfs dfs -cat / | ||
| </ | </ | ||
| Ligne 291: | Ligne 291: | ||
| Exécuter : | Exécuter : | ||
| - | <code bash> | + | <sxh bash> |
| hdfs fsck / | hdfs fsck / | ||
| -files \ | -files \ | ||
| Ligne 339: | Ligne 339: | ||
| Reconstruire l’environnement : | Reconstruire l’environnement : | ||
| - | <code bash> | + | <sxh bash> |
| docker compose down -v | docker compose down -v | ||
| docker compose up -d | docker compose up -d | ||
| Ligne 350: | Ligne 350: | ||
| Relancer : | Relancer : | ||
| - | <code bash> | + | <sxh bash> |
| hdfs fsck / | hdfs fsck / | ||
| -files \ | -files \ | ||
| Ligne 375: | Ligne 375: | ||
| Vérifier le facteur de réplication : | Vérifier le facteur de réplication : | ||
| - | <code bash> | + | <sxh bash> |
| hdfs fsck / | hdfs fsck / | ||
| -files \ | -files \ | ||
| Ligne 384: | Ligne 384: | ||
| Modifier la réplication du fichier : | Modifier la réplication du fichier : | ||
| - | <code bash> | + | <sxh bash> |
| hdfs dfs -setrep -w 3 \ | hdfs dfs -setrep -w 3 \ | ||
| / | / | ||
| Ligne 391: | Ligne 391: | ||
| Vérifier le résultat : | Vérifier le résultat : | ||
| - | <code bash> | + | <sxh bash> |
| hdfs fsck / | hdfs fsck / | ||
| -files \ | -files \ | ||
| Ligne 413: | Ligne 413: | ||
| Dans le conteneur '' | Dans le conteneur '' | ||
| - | <code bash> | + | <sxh bash> |
| hdfs dfsadmin -report | hdfs dfsadmin -report | ||
| </ | </ | ||
| Ligne 426: | Ligne 426: | ||
| Depuis la machine hôte : | Depuis la machine hôte : | ||
| - | <code bash> | + | <sxh bash> |
| docker compose ps | docker compose ps | ||
| </ | </ | ||
| Ligne 436: | Ligne 436: | ||
| Arrêter un DataNode : | Arrêter un DataNode : | ||
| - | <code bash> | + | <sxh bash> |
| docker compose stop datanode | docker compose stop datanode | ||
| </ | </ | ||
| Ligne 442: | Ligne 442: | ||
| Si plusieurs DataNodes portent un suffixe : | Si plusieurs DataNodes portent un suffixe : | ||
| - | <code bash> | + | <sxh bash> |
| docker compose stop datanode1 | docker compose stop datanode1 | ||
| </ | </ | ||
| Ligne 448: | Ligne 448: | ||
| ou : | ou : | ||
| - | <code bash> | + | <sxh bash> |
| docker compose stop datanode2 | docker compose stop datanode2 | ||
| </ | </ | ||
| Ligne 454: | Ligne 454: | ||
| Vérifier l’état : | Vérifier l’état : | ||
| - | <code bash> | + | <sxh bash> |
| docker compose ps | docker compose ps | ||
| </ | </ | ||
| Ligne 460: | Ligne 460: | ||
| Puis : | Puis : | ||
| - | <code bash> | + | <sxh bash> |
| hdfs dfsadmin -report | hdfs dfsadmin -report | ||
| </ | </ | ||
| Ligne 466: | Ligne 466: | ||
| Examiner le fichier : | Examiner le fichier : | ||
| - | <code bash> | + | <sxh bash> |
| hdfs fsck / | hdfs fsck / | ||
| -files \ | -files \ | ||
| Ligne 475: | Ligne 475: | ||
| Lire le fichier : | Lire le fichier : | ||
| - | <code bash> | + | <sxh bash> |
| hdfs dfs -cat / | hdfs dfs -cat / | ||
| </ | </ | ||
| Ligne 489: | Ligne 489: | ||
| Redémarrer le DataNode : | Redémarrer le DataNode : | ||
| - | <code bash> | + | <sxh bash> |
| docker compose start datanode | docker compose start datanode | ||
| </ | </ | ||
| Ligne 495: | Ligne 495: | ||
| Puis vérifier : | Puis vérifier : | ||
| - | <code bash> | + | <sxh bash> |
| hdfs dfsadmin -report | hdfs dfsadmin -report | ||
| </ | </ | ||
| Ligne 520: | Ligne 520: | ||
| Dans le conteneur '' | Dans le conteneur '' | ||
| - | <code bash> | + | <sxh bash> |
| yarn node -list | yarn node -list | ||
| </ | </ | ||
| Ligne 526: | Ligne 526: | ||
| Afficher les applications : | Afficher les applications : | ||
| - | <code bash> | + | <sxh bash> |
| yarn application -list | yarn application -list | ||
| </ | </ | ||
| Ligne 532: | Ligne 532: | ||
| Afficher les informations du cluster : | Afficher les informations du cluster : | ||
| - | <code bash> | + | <sxh bash> |
| yarn cluster | yarn cluster | ||
| </ | </ | ||
| Ligne 564: | Ligne 564: | ||
| Rechercher les exemples MapReduce : | Rechercher les exemples MapReduce : | ||
| - | <code bash> | + | <sxh bash> |
| find / -name " | find / -name " | ||
| </ | </ | ||
| Ligne 570: | Ligne 570: | ||
| Créer un petit fichier texte dans HDFS : | Créer un petit fichier texte dans HDFS : | ||
| - | <code bash> | + | <sxh bash> |
| hdfs dfs -mkdir -p / | hdfs dfs -mkdir -p / | ||
| hdfs dfs -put /etc/hosts / | hdfs dfs -put /etc/hosts / | ||
| Ligne 577: | Ligne 577: | ||
| Lancer '' | Lancer '' | ||
| - | <code bash> | + | <sxh bash> |
| hadoop jar \ | hadoop jar \ | ||
| / | / | ||
| Ligne 587: | Ligne 587: | ||
| Si le répertoire existe déjà : | Si le répertoire existe déjà : | ||
| - | <code bash> | + | <sxh bash> |
| hdfs dfs -rm -r / | hdfs dfs -rm -r / | ||
| </ | </ | ||
| Ligne 593: | Ligne 593: | ||
| Afficher le résultat : | Afficher le résultat : | ||
| - | <code bash> | + | <sxh bash> |
| hdfs dfs -cat / | hdfs dfs -cat / | ||
| </ | </ | ||
| Ligne 599: | Ligne 599: | ||
| Pendant l’exécution, | Pendant l’exécution, | ||
| - | <code bash> | + | <sxh bash> |
| yarn application -list | yarn application -list | ||
| </ | </ | ||
| Ligne 605: | Ligne 605: | ||
| Puis : | Puis : | ||
| - | <code bash> | + | <sxh bash> |
| yarn application -list -appStates ALL | yarn application -list -appStates ALL | ||
| </ | </ | ||
| Ligne 624: | Ligne 624: | ||
| Le code suivant correspond à un traitement Spark : | Le code suivant correspond à un traitement Spark : | ||
| - | <code python> | + | <sxh python> |
| df = spark.read \ | df = spark.read \ | ||
| .option(" | .option(" | ||
| Ligne 636: | Ligne 636: | ||
| Comparer avec : | Comparer avec : | ||
| - | <code python> | + | <sxh python> |
| spark.read.csv(" | spark.read.csv(" | ||
| </ | </ | ||
| Ligne 652: | Ligne 652: | ||
| Créer '' | Créer '' | ||
| - | <code python> | + | <sxh python> |
| from pyspark.sql import SparkSession | from pyspark.sql import SparkSession | ||
| from pyspark.sql.functions import sum, count, avg | from pyspark.sql.functions import sum, count, avg | ||
| Ligne 691: | Ligne 691: | ||
| Selon l’environnement Spark disponible : | Selon l’environnement Spark disponible : | ||
| - | <code bash> | + | <sxh bash> |
| spark-submit \ | spark-submit \ | ||
| --master yarn \ | --master yarn \ | ||
| Ligne 702: | Ligne 702: | ||
| Observer l’application : | Observer l’application : | ||
| - | <code bash> | + | <sxh bash> |
| yarn application -list | yarn application -list | ||
| </ | </ | ||
| Ligne 708: | Ligne 708: | ||
| Vérifier le résultat : | Vérifier le résultat : | ||
| - | <code bash> | + | <sxh bash> |
| hdfs dfs -ls / | hdfs dfs -ls / | ||
| </ | </ | ||
| Ligne 802: | Ligne 802: | ||
| ====== Commandes utiles ====== | ====== Commandes utiles ====== | ||
| - | <code bash> | + | <sxh bash> |
| # État des conteneurs | # État des conteneurs | ||
| docker compose ps | docker compose ps | ||