Introduction à HDFS
Click here to load reader
-
Upload
hadoop-user-group-france -
Category
Documents
-
view
3.463 -
download
0
description
Transcript of Introduction à HDFS
![Page 1: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/1.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
HUG France SL2013 – Mai 2013
Introduction à HDFSHadoop Distributed File System
Charly CLAIRMONTAltic - http://[email protected]@egwada
![Page 2: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/2.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Pourquoi Hadoop ?
● Traiter de larges jeux de données● Tolérance à la panne
● les machines sont faillibles ● et pour Hadoop ce n'est pas une exception
● Il coûte très cher d'incorporer la fiabilité au sein de chaque application
● Efficace même sur une infrastructure commode
![Page 3: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/3.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Un peu d'histoire
● Dec 2004 – Google publie ses papier GFS, MR
● Juil 2005 – Nutch utilise une implémentation de MapReduce
● Jan 2006 – Doug Cutting rejoint Yahoo!
● Fév 2006 – Hadoop devient un nouveau sous-projet de Lucene (Moteur de recherche)
● Avr 2007 – Yahoo! exploite un cluster Hadoop de 1000 nœuds
● Jan 2008 – Hadoop devient un "Apache Top Level Project"
● Fev 2008 – Yahoo! utilise Hadoop pour calculer les index de son moteur de recherche en production
● Juil 2008 – un cluster de 4 000 nœuds
● ...
● Jiun 2011 – 40 000 nœuds Hadoop chez Yahoo!
![Page 4: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/4.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Hadoop une boîte à outil à tout faire
● Recherche
– Yahoo, Amazon, Zvents,● Traitement de logs
– Facebook, Yahoo, ContextWeb. Joost, Last.fm● Système de recommandation
– Facebook, Amazon● Data Warehouse
– Facebook, AOL, HSBC, Crédit Mutuel● Traitement de documents, d'images, de Videos
– New York Times, Eyealike
![Page 5: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/5.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Infrastructure « commode »
● Architecture typique sur 2 niveaux
● machines commodes● 30 à 40 noeuds par racks● Liens entre les rack de 3 à 4 Go● liens interne au rack 1Go
![Page 6: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/6.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
HDFS, pourquoi ?
● Système de fichiers large et distribué
● 10K nœuds, 100 millions de fichier, 10 Po
– Ou moins !– Voire bien plus !
● Sait fonctionner au dessus de machines commodes● Réplication de fichiers pour prévenir les pannes● Détection des échecs, et reprendre à partir d'eux
● Optimisé pour les traitements par lots (plus pour longtemps)
● Emplacements des données connus
– les programmes peuvent y être déplacés● taille de la bande passante réduite
![Page 7: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/7.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Système de fichiers distribué
● Un seul espace de nom pour tout le cluster
● Cohérence de la donnée
● Écrire une fois pour d'un nombreux accès
● les applications clientes ont seulement la possibilité d'ajouter de la données
● Fichiers découpés en blocs
● généralement en bloc de 128 Mo
● blocs répliqués sur de multiples nœuds
● API intelligente
● Possibilité de rechercher les emplacements des blocs
● Possibilité d'accéder directement aux données depuis le DataNode
![Page 8: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/8.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
HDFS Architecture
![Page 9: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/9.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Fonction du NameNode
● Gestion du système de fichiers● Association entre fichiers et blocs de données● Association entre blocs et emplacements sur
les DataNodes● Configuration de la gestion du cluster● Moteur de réplication des blocs
![Page 10: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/10.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Metadonnées du NameNode
● Métadonnées en mémoire
● Toutes les métadonnées sont montées en mémoire● Aucune pagination des métadonnées du système de fichier
● Type de Métadonnées
● liste des fichiers● liste des blocs pour chaque fichier● liste des DataNodes pour chaque bloc● attributs de fichier, dernier accès, facteur de réplication
● Transactions
● enregistre les créations de fichiers, leurs suppressions...
![Page 11: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/11.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
DataNode
● Un serveur de bloc
● Stocke les données en local sur le système de fichier (ext3)
● Stocke les métadonnées des blocs (CRC)● Fournit les métadonnées et des données aux Clients
● Rapport des blocs
● Régulièrement envoie un rapport des blocs au NameNode
● Facilite l'échange des données entre noeuds
● Transmet les données vers d'autres DataNodes spécifiés
![Page 12: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/12.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Placement des blocs
● Stratégie actuelle
● Un répliqua sur un noeud aléatoire dans le rack local
● Second répliqua sur un un rack distant● Troisième répliqua sur le même un rack distant● Répliqua additionnel placé alléatoirement
● Clients lisent depuis le réplica le plus proche
● Évolution
● Rendre ce placement extensible (plugable)
![Page 13: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/13.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Moteur de réplication
● Le NameNode détecte les failles des DataNodes
● Désigne des DataNodes pour les nouveaux répliquas
● Gestion de la charge
● utilisation des disques● utilisation du réseau
![Page 14: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/14.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Des données exactes
● Checksums pour valider les données
● CRC32● Création des fichiers
● Calcul d'un checksum pour des paquets de 512 octets● Les DataNodes stockent le checksum
● Accès au fichier
● Récupération du fichier et du checksum depuis le DataNode
● Si le checksum est invalide récupération d'un autre répliqua
![Page 15: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/15.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Faille du NameNode
● Talon d'Achille du système● Transactions stockées dans plusieurs dossiers
● répertoire local● répertoire distant (NFS / CIFS)● disques en RAID
● « HA Solution »● Virtualisation du NameNode
![Page 16: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/16.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Flux d'écriture d'un fichier dans HDFS
● Lister les DataNodes où seront placés les répliquas des blocs
● Ecrire le bloc sur le 1er DataNode● Le 1er DataNode fournit les données au
DataNode suivant de la liste● Quand tous les répliquas du bloc sont inscrits,
on passe au bloc suivant pour le fichier
![Page 17: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/17.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Secondary NameNode
● copie FsImage and Transactions depuis le NameNode vers répertoire temporaire
● Merge le FsImage et Transactions vers des nouveaux
● Transfert le nouveau FsImage vers le NameNode
● Suppression des traces des Transactions du NameNode
![Page 18: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/18.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Quelques commandes pour HDFS
Il y a près de 30 commandes pour manipuler les fichiers en HDFS :
-cat : affiche le contenu d'un fichier
-text : comme cat mais sait afficher des données compressées
-chgrp,-chmod,-chown : modification des permissions
-put,-get,-copyFromLocal,-copyToLocal : import / export entre le système de fichier local et HDFS
-ls, -lsr : liste les fichiers / répertoires
-mv,-moveFromLocal,-moveToLocal : déplace les fichiers
-stat : informations statistiques sur les ressources (taille des blocs, nombre de blocs, type de fichiers, etc.)
![Page 19: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/19.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Quelques commandes pour HDFS
$ hadoop fs –ls /user/brian/$ hadoop fs -lsr
$ hadoop fs –mkdir notes
$ hadoop fs –put ~/training/commands.txt notes
$ hadoop fs –chmod 777 notes/commands.txt
$ hadoop fs –cat notes/commands.txt | more
$ hadoop fs –rm notes/*.txt
![Page 20: Introduction à HDFS](https://reader037.fdocuments.in/reader037/viewer/2022100601/557cf3ded8b42a57118b4778/html5/thumbnails/20.jpg)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
HUG France SL2013 – Mai 2013
Introduction à HDFS
Merci !
Charly CLAIRMONTAltic - http://[email protected]@egwada