Introduction à Apache Hadoop

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Lequel des énoncés suivants décrit le mieux l'objectif du projet Apache Hadoop ?

  • Développer des logiciels pour les systèmes d'exploitation de bureau.
  • Développer des logiciels _open source_ pour un calcul fiable et distribué. (correct)
  • Créer des applications de jeux vidéo haut de gamme.
  • Concevoir des systèmes de gestion de bases de données relationnelles.

Quelle est la fonction principale de la librairie logicielle Hadoop ?

  • Gérer les interfaces utilisateur graphiques.
  • Fournir un environnement de développement intégré (IDE).
  • Optimiser la performance des cartes graphiques.
  • Servir de framework pour le calcul distribué. (correct)

Laquelle des affirmations suivantes concernant la conception de Hadoop est correcte ?

  • Hadoop est conçu pour détecter et gérer les pannes au niveau de la couche application. (correct)
  • Hadoop nécessite une infrastructure de stockage centralisée.
  • Hadoop est conçu pour fonctionner uniquement sur des serveurs uniques.
  • Hadoop ne supporte pas le calcul distribué.

Parmi les modules suivants d'Apache Hadoop, lequel fournit un système de fichiers distribué à haut débit pour les données d'application ?

<p>Hadoop HDFS (D)</p> Signup and view all the answers

Lequel des modules d'Apache Hadoop est responsable de la planification des tâches et de la gestion des ressources de cluster ?

<p>Hadoop YARN (A)</p> Signup and view all the answers

Quel module d'Apache Hadoop est un système basé sur YARN pour le traitement parallèle de données massives ?

<p>Hadoop MapReduce (C)</p> Signup and view all the answers

Quelle est la dernière version majeure de Hadoop mentionnée ?

<p>Hadoop 3.3.6 (B)</p> Signup and view all the answers

Quelle version de Java est requise pour le déploiement de Hadoop ?

<p>Java 11 (D)</p> Signup and view all the answers

Dans un environnement Linux, quel protocole est souvent utilisé pour le déploiement de Hadoop ?

<p>SSH (C)</p> Signup and view all the answers

Quels sont les deux modes de déploiement principaux de Hadoop ?

<p>Mode 'single node' et mode 'cluster node'. (B)</p> Signup and view all the answers

Parmi les étapes suivantes, laquelle n'est pas nécessaire pour le déploiement de Hadoop ?

<p>Installation d'un serveur web. (A)</p> Signup and view all the answers

Dans le mode 'pseudo distributed' de Hadoop, comment les daemons Hadoop sont-ils exécutés ?

<p>Dans des processus Java distincts. (D)</p> Signup and view all the answers

Quels fichiers sont configurés pour la gestion du système de fichiers et les paramètres de base de Hadoop en mode 'pseudo distributed' ?

<p>core-site.xml et hdfs-site.xml. (D)</p> Signup and view all the answers

Où le fichier core-site.xml est-il typiquement situé ?

<p>$HADOOP_HOME/etc/hadoop/ (B)</p> Signup and view all the answers

Quelle est la commande utilisée pour formater le système de fichiers HDFS avant de démarrer un cluster Hadoop ?

<p><code>hdfs namenode -format</code> (B)</p> Signup and view all the answers

A quoi sert la commande hdfs fsck /path/to/file -files -blocks -locations ?

<p>Lister les fichiers, leurs blocs et les nœuds où ils sont placés. (A)</p> Signup and view all the answers

Quel est le rôle principal de HDFS (Hadoop Distributed File System) ?

<p>Servir de système de fichiers distribué pour stocker et accéder aux données. (C)</p> Signup and view all the answers

Laquelle des affirmations suivantes décrit le mieux la nature des pannes matérielles dans HDFS ?

<p>Les pannes matérielles sont considérées comme une norme plutôt qu'une exception. (B)</p> Signup and view all the answers

Comment Hadoop gère-t-il les fichiers en termes de modifications ?

<p>Hadoop est optimisé pour les fichiers qui sont créés une fois et rarement mis à jour. (D)</p> Signup and view all the answers

Quel est le rôle du NameNode dans l'architecture de HDFS ?

<p>Gérer et stocker les métadonnées du système de fichiers. (C)</p> Signup and view all the answers

Comment le NameNode stocke-t-il les métadonnées pour un accès rapide ?

<p>En mémoire RAM. (B)</p> Signup and view all the answers

Quel est le rôle du DataNode dans l'architecture HDFS ?

<p>Stocker les blocs de données des fichiers. (C)</p> Signup and view all the answers

Comment HDFS assure-t-il la tolérance aux pannes des DataNodes ?

<p>En répliquant les blocs de données sur plusieurs DataNodes. (D)</p> Signup and view all the answers

Qu'est-ce qu'un "heartbeat" dans le contexte de HDFS ?

<p>Un signal envoyé par les DataNodes au NameNode pour indiquer leur disponibilité. (D)</p> Signup and view all the answers

Que se passe-t-il si le NameNode dans un cluster HDFS tombe en panne ?

<p>L'accès au système de fichiers est impossible car le NameNode gère les métadonnées. (D)</p> Signup and view all the answers

Comment HDFS gère-t-il la perte d'un DataNode ?

<p>Le NameNode détecte la perte et réplique les blocs perdus sur d'autres nœuds. (D)</p> Signup and view all the answers

Quelle est la stratégie de placement par défaut des blocs dans HDFS pour assurer la redondance et la disponibilité ?

<p>Un réplica local, un deuxième sur un nœud dans le rack distant, et un troisième sur un nœud dans un autre rack distant. (C)</p> Signup and view all the answers

Quel est l'objectif du 'balancing' d'un cluster Hadoop ?

<p>Distribuer équitablement les blocs de données sur les DataNodes. (A)</p> Signup and view all the answers

Parmi les méthodes suivantes, laquelle n'est pas une méthode d'interaction utilisateur avec HDFS ?

<p>Via interface graphique native du système d'exploitation. (C)</p> Signup and view all the answers

Quelle commande HDFS est utilisée pour créer un répertoire ?

<p><code>hadoop dfs -mkdir</code> (B)</p> Signup and view all the answers

Quelle commande HDFS est utilisée pour copier des fichiers du système de fichier local vers HDFS ?

<p><code>hdfs dfs -put</code> (B)</p> Signup and view all the answers

Quelle est la différence principale entre les commandes hadoop dfs -put et hadoop dfs -moveFromLocal ?

<p><code>hadoop dfs -moveFromLocal</code> supprime les fichiers sources après la copie, tandis que <code>hadoop dfs -put</code> ne le fait pas. (C)</p> Signup and view all the answers

Quel commande permet d'afficher l'espace utilisée en bits par les fichiers d'un répertoire donné dans HDFS ?

<p><code>hdfs dfs -du</code> (B)</p> Signup and view all the answers

La commande hadoop distcp sert à ?

<p>Copier des données en parallèle vers ou depuis HDFS. (B)</p> Signup and view all the answers

Quel est l'objectif principal de MapReduce ?

<p>Offrir un modèle de programmation pour traiter de grandes quantités de données en parallèle. (C)</p> Signup and view all the answers

Quelle est la principale différence entre MapReduce et un SGBDR (Système de Gestion de Bases de Données Relationnelles) en termes d'accès aux données ?

<p>MapReduce fonctionne en mode batch, tandis qu'un SGBDR permet un accès interactif. (B)</p> Signup and view all the answers

Dans la procédure MapReduce, quel est le rôle de la tâche Map ?

<p>Convertir un ensemble de données en un autre ensemble de données, décomposant les éléments en paires clé-valeur. (B)</p> Signup and view all the answers

Quel est le rôle de la tâche Reduce dans la procédure MapReduce ?

<p>Prendre la sortie de Map comme entrée et combiner les paires clé-valeur pour produire un ensemble réduit de résultats. (C)</p> Signup and view all the answers

Dans le flux de travail MapReduce, quelle étape vient toujours après le travail des mappers (tâches Map) ?

<p>L'étape de réduction (reducing). (D)</p> Signup and view all the answers

Flashcards

Qu'est-ce qu'Apache Hadoop ?

Un framework de calcul distribué conçu pour passer de serveurs uniques à des milliers de machines, offrant un calcul et un stockage locaux.

Qu'est-ce que Hadoop HDFS?

Un système de fichiers distribué qui fournit un accès à haut débit aux données d'application.

Qu'est-ce que Hadoop YARN?

Un framework pour la planification des tâches et la gestion des ressources de cluster.

Qu'est-ce que Hadoop MapReduce?

Un système basé sur YARN pour le traitement parallèle de données massives.

Signup and view all the flashcards

Qu'est-ce que Hadoop Common?

Les utilitaires de base qui prennent en charge les autres modules Hadoop.

Signup and view all the flashcards

Comment HDFS considère-t-il les pannes?

Les pannes matérielles sont considérées comme normales.

Signup and view all the flashcards

Quel est le rôle du NameNode dans HDFS?

Il stocke les métadonnées et les emplacements des blocs de données.

Signup and view all the flashcards

Quel est le rôle des DataNodes dans HDFS?

Ils stockent le contenu des fichiers sous forme de blocs.

Signup and view all the flashcards

Que sont les heartbeats dans HDFS?

Les DataNodes envoient des signaux réguliers au NameNode pour indiquer leur état de santé.

Signup and view all the flashcards

Comment HDFS place-t-il les blocs par défaut?

Une réplique est stockée localement, d'autres sont distribuées sur différents racks.

Signup and view all the flashcards

Quand est-ce que Hadoop fonctionne le mieux?

Hadoop fonctionne de manière optimale lorsque les données sont réparties uniformément sur les nœuds.

Signup and view all the flashcards

Comment interagir avec HDFS?

Les données sont manipulées via l'API Java, la ligne de commande ou l’application Web.

Signup and view all the flashcards

Qu'est-ce que la commande distcp?

Copier de grandes quantités de données en parallèle.

Signup and view all the flashcards

Qu'est-ce que MapReduce?

Un modèle de programmation pour traiter de grandes quantités de données en parallèle.

Signup and view all the flashcards

Quel est le but de MapReduce?

Effectue des opérations analytiques sur de grands ensembles de données.

Signup and view all the flashcards

Que fait la tâche Map dans MapReduce?

Il prend un ensemble de données et le convertit en tuples (paires clé-valeur).

Signup and view all the flashcards

Que fait la tâche Reduce dans MapReduce?

Elle prend la sortie de Map et combine les tuples en un ensemble plus petit.

Signup and view all the flashcards

comment configurer HDFS pour differents clusters?

La configuration de HDFS entre les différents clusters s'effectue via différents fichiers de configuration présents dans le répertoire etc d'Hadoop

Signup and view all the flashcards

Utilisation pratique d'un cluster

Utilisation pratique d'un cluster. Cette commande va permettre de lister les fichiers, leurs blocks, et dans quels nœuds sont-ils placés. Une manipulation intéressante serait de shutdown un nœud et de vérifier si les fichiers sont toujours accessibles

Signup and view all the flashcards

Study Notes

  • Explores Apache Hadoop, HDFS, MapReduce et YARN

Projet Apache Hadoop

  • Le projet Apache™ Hadoop® développe des logiciels open source pour un calcul fiable, distribué, et évolutif.

Apache Hadoop

  • Bibliothèque logicielle Hadoop est un framework de calcul distribué.
  • Conçu pour l'évolutivité de serveurs uniques à des milliers de machines offrant calcul et stockage locaux.
  • Conçu pour détecter et gérer les pannes au niveau de la couche application, offrant un service hautement disponible.

Modules d'Apache Hadoop

  • Hadoop Common fournit les utilitaires de base pour supporter les autres modules Hadoop.
  • Hadoop HDFS est un système de fichiers distribué qui fournit un accès à haut débit aux données de l'application.
  • Hadoop YARN est un framework pour la planification des tâches et la gestion des ressources du cluster.
  • Hadoop MapReduce est un système basé sur YARN pour le traitement parallèle de données massives.

Utilisateurs de Hadoop

  • Hadoop est utilisé par diverses entreprises et organisations, incluant Amazon, Adobe, Blablacar, Alibaba, Ebay et Facebook pour la recherche et la production.

Développement de Hadoop

  • Il existe 4 versions majeures de Hadoop.
  • Hadoop 3.3.6 est la version la plus récente.
  • Le lien de téléchargement est hadoop.apache.org/releases.html.

Déploiement de Hadoop

  • Java 11 est requis.
  • Le déploiement sur Linux nécessite ssh.
  • Deux modes de déploiement sont disponibles : single node et cluster node.
  • Mode "single node" est pour avoir la main.
  • Mode "cluster node" est en environnement de production.
  • Hadoop a été testé sur un cluster GNU/Linux de 2000 noeuds.
  • Implique la création d'un utilisateur hadoop
  • En plus de l'importation de la clé de signature
  • Puis de télécharger et dézipper la distribution Hadoop.
  • Initialisation des variables d'environnement JAVA_HOME et HADOOP_HOME.

Mode pseudo distributed

  • Chaque démon Hadoop s'exécute sur un processus Java distinct.
  • Nécessité de créer des espaces de stockage logiques: /opt/hadoop/hdfs/namenode et /opt/hadoop/hdfs/datanode.
  • Configuration des fichiers core-site.xml et hdfs-site.xml.
  • Formattage et démarrage du cluster HDFS.
  • Surveillance (Monitoring) de l'état du cluster via http://localhost:50070/.

site-core.xml

  • Ce fichier permet de spécifier l'hôte et le port du système de fichiers HDFS.
  • Le répertoire concerné est $HADOOP_HOME/etc/hadoop/.

hdfs-site.xml

  • Ce fichier configure l'endroit où le NameNode stocke l'historique et où les DataNode stockent leurs blocs.
  • C'est également là que le coefficient de réplication est configuré.
  • Le répertoire est $HADOOP_HOME/etc/hadoop/.

Mode cluster

  • La configuration est similaire au mode "single node".
  • Il faut créer et configurer le répertoire pour le NameNode sur le nœud maître.
  • Les machines du cluster sont spécifiées dans le fichier slaves du répertoire $HADOOP_HOME/etc/hadoop/.
  • La première ligne de ce fichier correspond au master.
  • Toutes les machines doivent être accessibles via ssh
  • Le fichier site-core.xml doit être modifié dans chaque machine pour inclure le nom DNS du master.
  • Le facteur de réplication dans le fichier hdfs-site.xml doit être spécifié en fonction du nombre de DataNodes.
  • Le cluster doit démarrer sur le node master.

Démarrage d'un cluster Hadoop

  • Formater d'abord système de fichiers avec $HADOOP_PREFIX/bin/hdfs namenode -format.
  • Démarrer les daemons NameNode et DataNodes avec $HADOOP_HOME/bin/start-all.sh.
  • S'assurer du bon fonctionnement du cluster, en exécutant ls ou en vérifiant les services démarrés avec jps (hdfs dfs -ls . ou jps).

Utilisation pratique d'un cluster

  • Uploader les fichiers de configuration du répertoire etc/hadoop et créer un dossier d'importation.
  • Utilisation de hdfs dfs -mkdir import pour créer le répertoire et hdfs dfs -put $HADOOP_PREFIX/etc/hadoop/*.xml import pour uploader les fichiers.
  • Hadoop jar $HADOOP_PREFIX/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0. pi 2 5 lancer pour vérifier la distribution.
  • Pendant l'exécution du job, commande hadoop job -list pour pour assurer le bon deroulement.
  • Utiliser la commande hdfs fsck /path/to/file -files -blocks -locations pour observer comment les blocs sont répartis.
  • Il peut être intéressant d'éteindre un nœud pour vérifier si les fichiers restent accessibles.

Introduction à HDFS

  • HDFS (Hadoop Distributed File System) est un système de fichiers distribué fonctionnant sur du matériel standard.
  • Permet un accès transparent aux fichiers et répertoires stockés.

Fondamentaux de HDFS

  • Les pannes matérielles sont considérées comme la norme.
  • Un accès haut débit à des fichiers en continu est plus souhaitable que la faible latence.
  • Conçu pour gérer de gros fichiers plutôt qu'un grand nombre de petits fichiers.
  • Part du principe qu'un fichier créé est rarement mis à jour, simplifiant la cohérence et améliorant le débit.

Stockage des données dans HDFS

  • NameNode (master node):
  • Stocke les métadonnées (noms, emplacements des blocs, attributs).
  • Maintient les métadonnées en RAM pour un accès rapide.
  • La taille des métadonnées est limitée par la quantité de RAM disponible sur le NameNode.
  • DataNode (slave node):
  • Stocke le contenu des fichiers en blocs.
  • Réplication du contenu des fichiers sur différents DataNodes par le facteur de réplication.
  • Envoi de rapports périodiques au NameNode sur les blocs existants.

Gestion des pannes d'un slave

  • Les DataNodes envoient des heartbeats au NameNode.
  • Si aucun heartbeat n'est reçu, le DataNode est considéré comme perdu.
  • Le NameNode identifie les blocs sur les nœuds perdus et entreprend la réplication des copies sur d'autres nœuds.
  • La réplication de blocs est activement maintenue.

Panne du NameNode

  • La perte d'un NameNode signifie la perte de tous les fichiers.
  • Utiliser des fichiers de sauvegarde constituant l'état persistant du système de fichiers (montage local ou NFS)
  • Ou exécuter un NameNode secondaire

Placement des blocs

  • Configuration par défaut: un réplica en local, un deuxième sur un noeud distant dans le même rack, et un troisième sur un nœud dans un autre rack distant.
  • Les réplicas additionnels sont placés de manière aléatoire.
  • Le client lit toujours à partir du noeud le plus proche.
  • Le client obtient une liste de DataNodes pour placer les réplicas des blocs.
  • Le premier DataNode transfère les données au suivant.
  • Après l'écriture de tous les réplicas, le client continue avec le bloc suivant.
  • Plusieurs machines sont impliquées dans l'écriture.

Balancing Hadoop cluster

  • Hadoop fonctionne mieux avec une distribution équitable des blocs.
  • L'objectif est d'équilibrer le niveau de remplissage des disques sur les DataNodes.
  • Utiliser Balancer pour le processus de rééquilibrage.
  • La commande start-balancer.sh.
  • Re-distribuer les blocs des DataNodes sur-utilisés vers ceux sous-utilisés.
  • L'exécuter en cas de nouveaux DataNodes.
  • L'exécuter en tâche de fond et peut être limité.

Interaction utilisateur avec HDFS

  • Les données peuvent être manipulées par le biais de l'API Java ou des commandes en ligne.
  • Ou Utiliser une application web

Opérations HDFS Usuelles

  • Incluent la création et la suppression de répertoires.
  • Ainsi que la copie de fichiers et listing de contenu
  • Analyser l'allocation disque.
  • Vérifier les permissions ou les écritures.
  • Activer la réplication pour des repertoires bien spécifiques.

Commandes en ligne

  • hadoop dfs –mkdir créer un répertoire dans un emplacement donné.
  • hadoop dfs –rmr supprime tous les répertoires d'un systeme de fichier donné.
  • hadoop –put , copier les fichiers du système de fichier local vers fs.
  • hadoop dfs-copyFromLocal , identique la commande put.
  • hadoop dfs -moveFromLocal , même que put, sauf que la source est supprimée après copie.
  • -ls, lister le contenu d'un répertoire.
  • lsr, lister le contenu d'un répertoire de façon récursive.
  • cat, recherche les fichiers.
  • df, afficher la capacité, etc.
  • du, afficher l'espace utilisé.
  • Touchz, créer un fichier vide.

Lecture interne d'un fichier dans HDFS

  • Le client est guidé par le NameNode pour le choix du meilleur DataNode pour chaque bloc.
  • Le client contacte directement les DataNodes.
  • Le NameNode fournit uniquement l'emplacement des blocs.
  • Cette méthode permet à HDFS de passer à l'échelle.

Copie parallèle avec disco

  • Inclut un programme appelé distcp pour copier de grandes quantités de données vers et depuis HDFS en parallèle.
  • Utilisation basique: hadoop distcp .
  • distcp est implémenté comme un job MapReduce, où la copie est effectuée par les maps exécutés en parallèle dans le cluster.

MapReduce : définition

  • Est un modèle de programmation pour traiter le Big Data en parallèle.
  • Offre des capacités analytiques.

MapReduce vs. SGBDR

  • Voir Tableau plus haut

Procédure MapReduce

  • Elle contient deux tâches, notamment Map et Reduce.
  • La tâche Map convertit un ensemble de données en un autre avec des paires clé-valeur.
  • La tâche Reduce prend la sortie de Map comme entrée et combine en un ensemble plus petit de tuples.
  • La réduction a lieu après.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Big Data
7 questions
MapReduce Data Reading Quiz
5 questions
Big Data Technologies Quiz
15 questions
Introducción a Big Data – Parte 2
12 questions
Use Quizgecko on...
Browser
Browser