Podcast
Questions and Answers
Quel est le rôle principal de la librairie logicielle Hadoop ?
Quel est le rôle principal de la librairie logicielle Hadoop ?
- Assurer la sécurité des réseaux informatiques.
- Fournir un framework pour le calcul distribué. (correct)
- Optimiser la gestion de la mémoire des systèmes.
- Gérer les interfaces graphiques des applications.
Quelle est la principale caractéristique de la conception de Hadoop en matière de serveurs ?
Quelle est la principale caractéristique de la conception de Hadoop en matière de serveurs ?
- Fonctionner uniquement avec des serveurs haut de gamme.
- Être limité à un petit nombre de serveurs centralisés.
- Passer de serveurs uniques à des milliers de machines. (correct)
- Ignorer les capacités de calcul et stockage locaux des serveurs.
Comment Hadoop assure-t-il la disponibilité des services dans un cluster ?
Comment Hadoop assure-t-il la disponibilité des services dans un cluster ?
- En exigeant un matériel infaillible pour chaque serveur.
- En redémarrant manuellement les serveurs en cas de panne.
- En détectant et en gérant les pannes au niveau de l'application. (correct)
- En ignorant les pannes au niveau de l'application.
Parmi les suivants, quel module fait partie d'Apache Hadoop et prend en charge d'autres modules ?
Parmi les suivants, quel module fait partie d'Apache Hadoop et prend en charge d'autres modules ?
Quel module d'Apache Hadoop est spécifiquement conçu pour la planification des tâches et la gestion des ressources du cluster ?
Quel module d'Apache Hadoop est spécifiquement conçu pour la planification des tâches et la gestion des ressources du cluster ?
Quel module d'Apache Hadoop est un système de fichiers distribué à haut débit ?
Quel module d'Apache Hadoop est un système de fichiers distribué à haut débit ?
Quel module d'Apache Hadoop est basé sur YARN et est utilisé pour le traitement parallèle de grandes quantités de données ?
Quel module d'Apache Hadoop est basé sur YARN et est utilisé pour le traitement parallèle de grandes quantités de données ?
Parmi les entreprises suivantes, laquelle utilise Apache Hadoop pour la recherche et la production ?
Parmi les entreprises suivantes, laquelle utilise Apache Hadoop pour la recherche et la production ?
Quelle est la dernière version majeure d'Hadoop mentionnée ?
Quelle est la dernière version majeure d'Hadoop mentionnée ?
Quelle version de Java est requise pour le déploiement de Hadoop ?
Quelle version de Java est requise pour le déploiement de Hadoop ?
Dans quel contexte utilise-t-on le mode de déploiement « cluster node » de Hadoop ?
Dans quel contexte utilise-t-on le mode de déploiement « cluster node » de Hadoop ?
Quel est le but de la configuration des fichiers core-site.xml
et hdfs-site.xml
en mode pseudo distribué ?
Quel est le but de la configuration des fichiers core-site.xml
et hdfs-site.xml
en mode pseudo distribué ?
Dans le contexte de la configuration HDFS, quel fichier est utilisé pour configurer l'emplacement où le NameNode stocke l'historique des transactions ?
Dans le contexte de la configuration HDFS, quel fichier est utilisé pour configurer l'emplacement où le NameNode stocke l'historique des transactions ?
En mode cluster, quelle est la spécification importante concernant le fichier slaves
?
En mode cluster, quelle est la spécification importante concernant le fichier slaves
?
Quelle commande est utilisée pour formater le système de fichiers HDFS avant de démarrer un cluster Hadoop ?
Quelle commande est utilisée pour formater le système de fichiers HDFS avant de démarrer un cluster Hadoop ?
Après avoir lancé un job Hadoop, quelle commande peut être utilisée pour vérifier son exécution ?
Après avoir lancé un job Hadoop, quelle commande peut être utilisée pour vérifier son exécution ?
Quelle commande HDFS permet de créer un nouveau répertoire ?
Quelle commande HDFS permet de créer un nouveau répertoire ?
Quel est le but principal de la commande hdfs fsck
avec les options -files -blocks -locations
?
Quel est le but principal de la commande hdfs fsck
avec les options -files -blocks -locations
?
Quel est l'objectif principal du HDFS (Hadoop Distributed File System) ?
Quel est l'objectif principal du HDFS (Hadoop Distributed File System) ?
Comment HDFS gère-t-il les pannes matérielles ?
Comment HDFS gère-t-il les pannes matérielles ?
Quel type d'accès aux fichiers est privilégié dans HDFS ?
Quel type d'accès aux fichiers est privilégié dans HDFS ?
Comment Hadoop est-il conçu pour gérer différents types de fichiers ?
Comment Hadoop est-il conçu pour gérer différents types de fichiers ?
Quel rôle joue le NameNode dans l'architecture HDFS ?
Quel rôle joue le NameNode dans l'architecture HDFS ?
Où le NameNode maintient-il les métadonnées pour un accès rapide ?
Où le NameNode maintient-il les métadonnées pour un accès rapide ?
Quel rôle jouent les DataNodes dans HDFS ?
Quel rôle jouent les DataNodes dans HDFS ?
Comment HDFS assure-t-il la redondance des données ?
Comment HDFS assure-t-il la redondance des données ?
Que se passe-t-il si un DataNode devient indisponible dans un cluster HDFS ?
Que se passe-t-il si un DataNode devient indisponible dans un cluster HDFS ?
Quelle est la conséquence de la perte d'un NameNode dans HDFS ?
Quelle est la conséquence de la perte d'un NameNode dans HDFS ?
Quelle est une des options proposées par Hadoop pour la sauvegarde et la récupération du NameNode ?
Quelle est une des options proposées par Hadoop pour la sauvegarde et la récupération du NameNode ?
Quelle est la configuration par défaut pour le placement des blocs dans HDFS en termes de réplication ?
Quelle est la configuration par défaut pour le placement des blocs dans HDFS en termes de réplication ?
Comment un client HDFS interagit-il pour lire les données une fois que le placement des blocs est déterminé ?
Comment un client HDFS interagit-il pour lire les données une fois que le placement des blocs est déterminé ?
Quel est l'objectif du 'Balancing' (équilibrage) dans un cluster Hadoop ?
Quel est l'objectif du 'Balancing' (équilibrage) dans un cluster Hadoop ?
Quelles sont les méthodes d'interaction utilisateur avec HDFS ?
Quelles sont les méthodes d'interaction utilisateur avec HDFS ?
Quelle commande HDFS est utilisée pour afficher l'espace utilisé en bits par les fichiers d'un répertoire donné ?
Quelle commande HDFS est utilisée pour afficher l'espace utilisé en bits par les fichiers d'un répertoire donné ?
Que permet de faire la commande hadoop distcp
?
Que permet de faire la commande hadoop distcp
?
Quelle est la définition principale de MapReduce ?
Quelle est la définition principale de MapReduce ?
Quelle est la principale différence entre MapReduce et les SGBDR traditionnels en termes d'accès aux données ?
Quelle est la principale différence entre MapReduce et les SGBDR traditionnels en termes d'accès aux données ?
Quelle est une caractéristique clé de MapReduce concernant la structure des données qu'il traite ?
Quelle est une caractéristique clé de MapReduce concernant la structure des données qu'il traite ?
Dans le contexte de MapReduce, quelle est la fonction de la tâche 'Map' ?
Dans le contexte de MapReduce, quelle est la fonction de la tâche 'Map' ?
Quel est le rôle de la tâche 'Reduce' dans le processus MapReduce ?
Quel est le rôle de la tâche 'Reduce' dans le processus MapReduce ?
Dans un job MapReduce, quelle est la relation entre les tâches Map et Reduce ?
Dans un job MapReduce, quelle est la relation entre les tâches Map et Reduce ?
Flashcards
Qu'est-ce qu'Apache Hadoop ?
Qu'est-ce qu'Apache Hadoop ?
Un framework de calcul distribué pour traiter de grandes quantités de données sur des clusters d'ordinateurs.
Hadoop Common :
Hadoop Common :
Les utilitaires de base qui prennent en charge les autres modules Hadoop.
Hadoop HDFS :
Hadoop HDFS :
Un système de fichiers distribué qui fournit un accès à haut débit aux données d'application.
Hadoop YARN :
Hadoop YARN :
Signup and view all the flashcards
Hadoop MapReduce :
Hadoop MapReduce :
Signup and view all the flashcards
Qu'est-ce que HDFS ?
Qu'est-ce que HDFS ?
Signup and view all the flashcards
Comment HDFS considère-t-il les pannes matérielles ?
Comment HDFS considère-t-il les pannes matérielles ?
Signup and view all the flashcards
Quelle taille de fichier HDFS est-il conçu pour gérer?
Quelle taille de fichier HDFS est-il conçu pour gérer?
Signup and view all the flashcards
Quel est le rôle des NameNode et DataNodes dans HDFS ?
Quel est le rôle des NameNode et DataNodes dans HDFS ?
Signup and view all the flashcards
Comment HDFS gère-t-il les pannes de DataNode ?
Comment HDFS gère-t-il les pannes de DataNode ?
Signup and view all the flashcards
Quelle est l'importance du NameNode ?
Quelle est l'importance du NameNode ?
Signup and view all the flashcards
À partir de quel nœud le client dans HDFS lit-il les données?
À partir de quel nœud le client dans HDFS lit-il les données?
Signup and view all the flashcards
Comment Hadoop fonctionne-t-il le mieux?
Comment Hadoop fonctionne-t-il le mieux?
Signup and view all the flashcards
Comment copier des données vers Hadoop en parallèle?
Comment copier des données vers Hadoop en parallèle?
Signup and view all the flashcards
Qu'est-ce que MapReduce ?
Qu'est-ce que MapReduce ?
Signup and view all the flashcards
À quoi MapReduce est-il adapté?
À quoi MapReduce est-il adapté?
Signup and view all the flashcards
Quelles sont les deux tâches principales dans MapReduce ?
Quelles sont les deux tâches principales dans MapReduce ?
Signup and view all the flashcards
Study Notes
- Ce document présente Apache Hadoop, couvrant ses modules, son développement, son déploiement, HDFS et MapReduce.
Projet Apache Hadoop
- Le projet Apache Hadoop développe des logiciels open source conçus pour un calcul fiable, distribué et scalable.
Apache Hadoop
- La librairie Hadoop est un framework de calcul distribué conçu pour fonctionner sur des clusters de machines.
- Hadoop peut passer d'un seul serveur à des milliers de machines.
- Chaque machine offre des capacités de calcul et de stockage locales.
- Il est conçu pour détecter et gérer les pannes au niveau de la couche application.
- Ceci fournit un service hautement disponible sur un cluster d'ordinateurs, chacun pouvant être sujet à des pannes.
Modules d'Apache Hadoop
- Hadoop Common fournit les utilitaires de base utilisés par les autres modules.
- Hadoop HDFS est un système de fichiers distribué qui offre un accès à haut débit aux données des applications.
- Hadoop YARN est un framework pour la planification et la gestion des ressources de cluster.
- Hadoop MapReduce est un système basé sur YARN conçu pour le traitement parallèle de grandes quantités de données.
Qui utilise Hadoop ?
- Hadoop est utilisé par diverses entreprises et organisations pour la recherche et la production.
- Des exemples d'entreprises utilisant Hadoop incluent Amazon, Adobe, Blablacar, Alibaba, Ebay et Facebook.
Développement de Hadoop
- Quatre versions majeures de Hadoop sont sorties jusqu'à aujourd'hui.
- La dernière version est Hadoop 3.3.6.
Déploiement de Hadoop
- Java 11 est requis pour le déploiement.
- L'utilisation de ssh est une exigence pour le déploiement sur Linux.
- Il existe deux modes de déploiement, à savoir 'single node', pour lequel avoir la main est important et 'cluster node' qui est important dans un environnement de production.
- Hadoop a été testé sur un cluster GNU/Linux de 2000 noeuds.
Étapes pour le déploiement de Hadoop
- Créer un utilisateur Hadoop.
- Importer la clé de signature.
- Télécharger et décompresser la distribution Hadoop.
- Initialiser les variables d'environnement JAVA_HOME et HADOOP_HOME.
Mode « pseudo-distributed »
- Chaque démon Hadoop s'exécute dans un processus Java distinct.
- Création d'espaces de stockage logiques dans les répertoires /opt/hadoop/hdfs/namenode et /opt/hadoop/hdfs/datanode.
- Configuration via les fichiers core-site.xml et hdfs-site.xml.
- Effectuer le formattage et démarrer le cluster HDFS.
- Surveiller l'état du cluster via http://localhost:50070.
site-core.xml
- core-site.xml sert à spécifier l'hôte et le port du système de fichiers HDFS.
- Cette configuration se trouve généralement dans $HADOOP_HOME/etc/hadoop/.
hdfs-site.xml
- hdfs-site.xml configure l'endroit où NameNode stocke l'historique des transactions.
- hdfs-site.xml configure l'endroit où les DataNodes stockent leurs blocs.
- Le coefficient de réplication est configuré dans hdfs-site.xml.
- Le fichier se trouve dans un répertoire $HADOOP_HOME/etc/hadoop/.
Mode cluster (1)
- La configuration est semblable au mode « nœud unique ».
- Créer et configurer le répertoire pour le NameNode censé exécuter l'instance NameNode (le nœud maître).
- Les machines du cluster sont spécifiées dans le fichierslaves dans $HADOOP_HOME/etc/hadoop/.
- La première ligne du fichier slaves correspond au noeud master.
- Toutes les machines doivent être accessibles via SSH.
Mode cluster (2)
- Le fichier site-core.xml doit être modifié dans chaque machine, en mettant le nom DNS du master.
- Le facteur de réplication dans hdfs-site.xml spécifie le nombre de DataNodes dans le cluster.
- Le cluster doit être démarré sur le noeud master.
Démarrage d'un cluster Hadoop
- Formater le système de fichiers avant de démarrer les nœuds, utiliser la commande :
$HADOOP_PREFIX/bin/hdfs namenode -format
. - Démarrer les daemons NameNode et DataNodes avec la commande :
$HADOOP_HOME/bin/start-all.sh
. - Vérifier ensuite que nous pouvons accéder au système de fichiers en exécutant une simple commande ls, ou regarder si les services sont démarrés avec
jps
.
Utilisation pratique d'un cluster
- Télécharger les fichiers de configurations présents dans le répertoire etc/hadoop d'Hadoop.
- Créer un dossier import pour pouvoir ajouter nos fichiers en utilisant
hdfs dfs -mkdir import
. - Uploader ensuite ces fichiers en utilisant
hdfs dfs -put $HADOOP_PREFIX/etc/hadoop/*.xml import
. - Pour vérifier bonne distribution des noeuds, lancer un job en utilisant
hadoop jar $HADOOP_PREFIX/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0. pi 2 5
. - Suivre l'exécution du job avec
hadoop job -list
. - Observer comment les blocs sont répartis dans le cluster avec
hdfs fsck /path/to/file -files -blocks -locations
. - Cette commande va permettre de lister les fichiers, leurs blocks, et dans quels nœuds sont-ils placés.
- L'exécution du cluster persistera si un nœud est fermé.
HDFS
- Le Hadoop Distributed File System (HDFS) est un système de fichiers distribué qui fonctionne sur du matériel standard.
- HDFS permet aux applications d'accéder de manière transparente aux fichiers et répertoires stockés sur différentes machines du réseau.
Principes fondamentaux de HDFS
- Les défaillances matérielles sont considérées comme la norme plutôt que l'exception.
- Un accès à faible latence aux parties aléatoires d’un fichier est moins souhaitable qu’une diffusion continue sur des fichiers à haut débit.
- Hadoop est conçu pour gérer de gros fichiers plutôt qu'un grand nombre de petits fichiers.
- Un fichier n’est jamais mis à jour après sa création.
- Le principe de conservation des données simplifie le modèle de cohérence et permet un débit élevé.
Stockage des données dans HDFS
- Le NameNode gère les métadonnées.
- Le NameNode stocke les noms de fichiers, les emplacements des blocs, les attributs, etc.
- Il conserve les métadonnées dans la mémoire RAM pour accélérer la recherche.
- La taille des métadonnées est limitée à la quantité de RAM disponible sur le NameNode.
- Les DataNodes gèrent le stockage réel.
- DataNodes stocke l'ensemble des fichiers sous forme de blocs.
- Des blocs différents d'un même fichier sont stockés sur des DataNodes différents.
- Les blocs sont répliqués sur plusieurs DataNodes pour la redondance.
- Chaque DataNode envoie un rapport de tous les blocs existants au NameNode en envoyant de manière periodique.
Gestion des pannes d'un slave
- Les DataNodes échangent régulièrement des heartbeats avec le NameNode.
- Si aucun heartbeat n'est pas reçu, le DataNode est considéré comme perdu.
- Le NameNode détermine les blocs hébergés sur le nœud perdu.
- Le NameNode trouve ensuite les copies de ces blocs et les réplique sur d'autres nœuds.
- La réplication des blocs est maintenue activement.
Panne du NameNode
- La perte d'un NameNode équivaut à la perte de tous les fichiers du système.
- Hadoop propose deux options pour y remédier :
- Utiliser des fichiers de sauvegarde constituant l'état persistant du système de fichiers (montage local ou NFS).
- Exécuter un NameNode secondaire.
Placement des blocs (1)
- Configuration par défaut :
- Une réplica locale.
- Une deuxième réplica sur un nœud dans le rack distant.
- Une troisième réplica sur un nœud dans le rack distant.
- Les réplicas supplémentaires sont configurées de façon aléatoire.
- Le client lit depuis le nœud le plus proche.
Placement des blocs (2)
- Le client récupère une liste de datanodes sur lesquels placer des réplicas de blocs.
- Le client écrit le bloc dans le premier datanode.
- Le premier datanode transfère les données au datanode suivant dans le pipeline.
- Lorsque toutes les réplicas ont été écrits, le client procède à l'écriture du bloc suivant.
- Plusieurs machines peuvent être impliquées dans l'écriture dans les fichiers.
Balancing Hadoop cluster
- Hadoop fonctionne mieux lorsque les blocs sont distribués de manière égale.
- L'accent est mis sur l'uniformisation du niveau de remplissage des disques sur les DataNodes.
- Un démon de balancing Hadoop est utilisé.
- Un script,
% start-balancer.sh
est lancé. - Les blocs redistribuent les blocs des DataNodes sur-utilisés vers ceux sous-utilisés
- Cela s'effectue lorsque de nouveaux DataNodes sont ajoutés
- Ceci peut être exécuté en tâche de fond pour la congestion du réseau/d'où l'impact négatif sur le cluster.
Interaction utilisateur avec HDFS
- Les données peuvent être manipulées via :
- Programmation via l'API JAVA.
- Ligne de commandes.
- Application web.
Opérations HDFS courantes :
- Création de répertoires
- Suppression de répertoires
- Copie de/depuis HDFS
- Affichage du contenu d’un répertoire
- Affichage du contenu d’un fichier
- Analyse de l’allocation disque
- Vérification d'écritures ou de permissions
- Activation de la réplication pour des répertoires donnés
Commandes en ligne
hadoop dfs –mkdir <path>
Créer un répertoire dans un emplacement donnéhadoop dfs –rmr <src>
Supprime tous les répertoires qui correspondent au système de fichiers spécifiéhadoop –put <localsrc> <dst>
Copier les fichiers du système de fichier local vers fshadoop dfs -copyFromLocal <localsrc> <dst>
identique à la commande puthadoop dfs -moveFromLocal <localsrc> <dst>
Même que put, sauf que la source est supprimée après copie-ls <path>
Lister le contenu d’un répertoirelsr <path>
Liste le contenu d’un répertoire de façon recursivecat <src>
Retrouve tous les fichiers qui correspondent aux critère de recherche et les affiche à la sortiedf <path>
Affiche la capacité, espace vide, et espace utilisé du système de fichiersdu <<path>>
Affiche l’espace utilisée en bits par les fichiers d’un répertoire donnétouchz <path>
Crée un fichier vide dans le repertoire spécifié
Lecture interne d'un fichier dans HDFS
- Le client est guidé par le Namenode pour le choix du meilleur DataNode pour chaque block
- Le client contacte les DataNodes directement pour récupérer les données
- Le NameNode donne uniquement l’emplacement des blocks
- Conçu pour permettre à HDFS de passer à l’échelle en terme de nombre de clients
Copie parallèle avec disco
- Hadoop vient avec un programme utile appellé
distcp
pour copier une quantité importante de données vers et à partir du système de fichiers de Hadoop en parallèle hadoop distcp <url>
distcp
est implémenté comme un job map reduce où la copie est effectuée par les maps qui s’exécutent en parallèle à travers le cluster
MapReduce
- Modèle de programmation pour écrire des applications qui traitent le Big Data en parallèle sur plusieurs noeuds.
- Fournit des capacités analytiques pour analyser d'énormes volumes de données complexes.
Hadoop MapReduce vs. SGBDR
- MapReduce est adapté à l’analyse de données en batch.
- Le SGBDR est destiné à la récupération en temps réel avec une faible latence et de petits ensembles de données.
- Les processus MapReduce impliquent une étape Map et une étape Reduce.
- La tâche Map prend un ensemble de données et le convertit en un autre ensemble de données, où les éléments individuels sont décomposés en tuples (paires clé-valeur).
- La tâche Reduce prend la sortie de Map comme entrée et combine ces tuples de données (paires clé-valeur) en un ensemble plus petit de tuples.
- La tâche de réduction est toujours effectuée après le travail des mappers
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.