SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
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
Hadoop Distributed File System
Charly CLAIRMONT
Altic - http://altic.org
charly.clairmont@altic.org
@egwada
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
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!
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
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
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
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
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
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
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...
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
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)
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
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
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
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
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
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.)
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
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 CLAIRMONT
Altic - http://altic.org
charly.clairmont@altic.org
@egwada

Contenu connexe

Tendances

Tendances (20)

Cours Big Data Chap6
Cours Big Data Chap6Cours Big Data Chap6
Cours Big Data Chap6
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 
Poly
PolyPoly
Poly
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
Hive ppt (1)
Hive ppt (1)Hive ppt (1)
Hive ppt (1)
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
 
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
BigData_TP5 : Neo4J
BigData_TP5 : Neo4JBigData_TP5 : Neo4J
BigData_TP5 : Neo4J
 
Une introduction à HBase
Une introduction à HBaseUne introduction à HBase
Une introduction à HBase
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Introduction à la big data v3
Introduction à la big data v3 Introduction à la big data v3
Introduction à la big data v3
 
Bases de Données non relationnelles, NoSQL (Introduction) 1er cours
Bases de Données non relationnelles, NoSQL (Introduction) 1er coursBases de Données non relationnelles, NoSQL (Introduction) 1er cours
Bases de Données non relationnelles, NoSQL (Introduction) 1er cours
 

En vedette

Architectures techniques NoSQL
Architectures techniques NoSQLArchitectures techniques NoSQL
Architectures techniques NoSQL
OCTO Technology
 

En vedette (20)

Hadopp Vue d'ensemble
Hadopp Vue d'ensembleHadopp Vue d'ensemble
Hadopp Vue d'ensemble
 
Un introduction à Pig
Un introduction à PigUn introduction à Pig
Un introduction à Pig
 
Une introduction à Hive
Une introduction à HiveUne introduction à Hive
Une introduction à Hive
 
Introduction à Hadoop
Introduction à HadoopIntroduction à Hadoop
Introduction à Hadoop
 
Une Introduction à Hadoop
Une Introduction à HadoopUne Introduction à Hadoop
Une Introduction à Hadoop
 
Presentation Hadoop Québec
Presentation Hadoop QuébecPresentation Hadoop Québec
Presentation Hadoop Québec
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-Reduce
 
NoSql : conception des schémas, requêtage, et optimisation
NoSql : conception des schémas, requêtage, et optimisationNoSql : conception des schémas, requêtage, et optimisation
NoSql : conception des schémas, requêtage, et optimisation
 
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Casablanca Hadoop & Big Data Meetup - Introduction à HadoopCasablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
 
Enquête RegionsJob : emploi et réseaux sociaux, deuxième édition
Enquête RegionsJob : emploi et réseaux sociaux, deuxième éditionEnquête RegionsJob : emploi et réseaux sociaux, deuxième édition
Enquête RegionsJob : emploi et réseaux sociaux, deuxième édition
 
Big Data Analytics for connected home
Big Data Analytics for connected homeBig Data Analytics for connected home
Big Data Analytics for connected home
 
Bases de données NoSQL
Bases de données NoSQLBases de données NoSQL
Bases de données NoSQL
 
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache SparkPlateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
 
Présentation Big Data et REX Hadoop
Présentation Big Data et REX HadoopPrésentation Big Data et REX Hadoop
Présentation Big Data et REX Hadoop
 
Une introduction à MapReduce
Une introduction à MapReduceUne introduction à MapReduce
Une introduction à MapReduce
 
Présentation pfe Big Data Hachem SELMI et Ahmed DRIDI
Présentation pfe Big Data Hachem SELMI et Ahmed DRIDIPrésentation pfe Big Data Hachem SELMI et Ahmed DRIDI
Présentation pfe Big Data Hachem SELMI et Ahmed DRIDI
 
Architectures techniques NoSQL
Architectures techniques NoSQLArchitectures techniques NoSQL
Architectures techniques NoSQL
 
Valtech - Du BI au Big Data, une révolution dans l’entreprise
Valtech - Du BI au Big Data, une révolution dans l’entrepriseValtech - Du BI au Big Data, une révolution dans l’entreprise
Valtech - Du BI au Big Data, une révolution dans l’entreprise
 
Big Data : concepts, cas d'usage et tendances
Big Data : concepts, cas d'usage et tendancesBig Data : concepts, cas d'usage et tendances
Big Data : concepts, cas d'usage et tendances
 
Big data - Cours d'introduction l Data-business
Big data - Cours d'introduction l Data-businessBig data - Cours d'introduction l Data-business
Big data - Cours d'introduction l Data-business
 

Similaire à Introduction à HDFS

Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel ArkéaMathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Modern Data Stack France
 
base-de-donnees-whois.ppt
base-de-donnees-whois.pptbase-de-donnees-whois.ppt
base-de-donnees-whois.ppt
webhostingguy
 
envol08-sgv envol08-sgv envol08-sgv envol08-sgv
envol08-sgv envol08-sgv envol08-sgv envol08-sgvenvol08-sgv envol08-sgv envol08-sgv envol08-sgv
envol08-sgv envol08-sgv envol08-sgv envol08-sgv
mia884611
 

Similaire à Introduction à HDFS (20)

Hadoop prêt pour l'Entreprise
Hadoop prêt pour l'EntrepriseHadoop prêt pour l'Entreprise
Hadoop prêt pour l'Entreprise
 
Spark une alternative à Hadoop MapReduce pour le Datamining
Spark une alternative à Hadoop MapReduce pour le DataminingSpark une alternative à Hadoop MapReduce pour le Datamining
Spark une alternative à Hadoop MapReduce pour le Datamining
 
BigData_Technologies_PL.pdf
BigData_Technologies_PL.pdfBigData_Technologies_PL.pdf
BigData_Technologies_PL.pdf
 
BigData_Technologies_PL.pdf
BigData_Technologies_PL.pdfBigData_Technologies_PL.pdf
BigData_Technologies_PL.pdf
 
Comment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceComment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open Source
 
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel ArkéaMathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
 
base-de-donnees-whois.ppt
base-de-donnees-whois.pptbase-de-donnees-whois.ppt
base-de-donnees-whois.ppt
 
envol08-sgv envol08-sgv envol08-sgv envol08-sgv
envol08-sgv envol08-sgv envol08-sgv envol08-sgvenvol08-sgv envol08-sgv envol08-sgv envol08-sgv
envol08-sgv envol08-sgv envol08-sgv envol08-sgv
 
Hadoop chez Kobojo
Hadoop chez KobojoHadoop chez Kobojo
Hadoop chez Kobojo
 
Des solutions de synchronisation de données
Des solutions de synchronisation de donnéesDes solutions de synchronisation de données
Des solutions de synchronisation de données
 
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
 
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
 
Retour Hadoop Summit 2012
Retour Hadoop Summit 2012Retour Hadoop Summit 2012
Retour Hadoop Summit 2012
 
Solution Hitachi Content Platform
Solution Hitachi Content PlatformSolution Hitachi Content Platform
Solution Hitachi Content Platform
 
Big Data : SQL, NoSQL ? Pourquoi faire un choix ?
Big Data : SQL, NoSQL ? Pourquoi faire un choix ?Big Data : SQL, NoSQL ? Pourquoi faire un choix ?
Big Data : SQL, NoSQL ? Pourquoi faire un choix ?
 
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
 
Alphorm.com Support de la Formation PromoxVE 4.x
Alphorm.com Support de la Formation PromoxVE 4.xAlphorm.com Support de la Formation PromoxVE 4.x
Alphorm.com Support de la Formation PromoxVE 4.x
 
Atelier hadoop-single-sign-on
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-on
 
Présentation LINAGORA - LinShare au @S2LQ
Présentation LINAGORA - LinShare au @S2LQPrésentation LINAGORA - LinShare au @S2LQ
Présentation LINAGORA - LinShare au @S2LQ
 
[Café techno] Spectrum Project - Affronter et gérer la masse de données hétér...
[Café techno] Spectrum Project - Affronter et gérer la masse de données hétér...[Café techno] Spectrum Project - Affronter et gérer la masse de données hétér...
[Café techno] Spectrum Project - Affronter et gérer la masse de données hétér...
 

Plus de Modern Data Stack France

Plus de Modern Data Stack France (20)

Stash - Data FinOPS
Stash - Data FinOPSStash - Data FinOPS
Stash - Data FinOPS
 
Vue d'ensemble Dremio
Vue d'ensemble DremioVue d'ensemble Dremio
Vue d'ensemble Dremio
 
From Data Warehouse to Lakehouse
From Data Warehouse to LakehouseFrom Data Warehouse to Lakehouse
From Data Warehouse to Lakehouse
 
Talend spark meetup 03042017 - Paris Spark Meetup
Talend spark meetup 03042017 - Paris Spark MeetupTalend spark meetup 03042017 - Paris Spark Meetup
Talend spark meetup 03042017 - Paris Spark Meetup
 
Paris Spark Meetup - Trifacta - 03_04_2017
Paris Spark Meetup - Trifacta - 03_04_2017Paris Spark Meetup - Trifacta - 03_04_2017
Paris Spark Meetup - Trifacta - 03_04_2017
 
Hadoop meetup : HUGFR Construire le cluster le plus rapide pour l'analyse des...
Hadoop meetup : HUGFR Construire le cluster le plus rapide pour l'analyse des...Hadoop meetup : HUGFR Construire le cluster le plus rapide pour l'analyse des...
Hadoop meetup : HUGFR Construire le cluster le plus rapide pour l'analyse des...
 
HUG France Feb 2016 - Migration de données structurées entre Hadoop et RDBMS ...
HUG France Feb 2016 - Migration de données structurées entre Hadoop et RDBMS ...HUG France Feb 2016 - Migration de données structurées entre Hadoop et RDBMS ...
HUG France Feb 2016 - Migration de données structurées entre Hadoop et RDBMS ...
 
Hadoop France meetup Feb2016 : recommendations with spark
Hadoop France meetup  Feb2016 : recommendations with sparkHadoop France meetup  Feb2016 : recommendations with spark
Hadoop France meetup Feb2016 : recommendations with spark
 
Hug janvier 2016 -EDF
Hug   janvier 2016 -EDFHug   janvier 2016 -EDF
Hug janvier 2016 -EDF
 
HUG France - 20160114 industrialisation_process_big_data CanalPlus
HUG France -  20160114 industrialisation_process_big_data CanalPlusHUG France -  20160114 industrialisation_process_big_data CanalPlus
HUG France - 20160114 industrialisation_process_big_data CanalPlus
 
Hugfr SPARK & RIAK -20160114_hug_france
Hugfr  SPARK & RIAK -20160114_hug_franceHugfr  SPARK & RIAK -20160114_hug_france
Hugfr SPARK & RIAK -20160114_hug_france
 
HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)
HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)
HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)
 
Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015
Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015
Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015
 
Datalab 101 (Hadoop, Spark, ElasticSearch) par Jonathan Winandy - Paris Spark...
Datalab 101 (Hadoop, Spark, ElasticSearch) par Jonathan Winandy - Paris Spark...Datalab 101 (Hadoop, Spark, ElasticSearch) par Jonathan Winandy - Paris Spark...
Datalab 101 (Hadoop, Spark, ElasticSearch) par Jonathan Winandy - Paris Spark...
 
Record linkage, a real use case with spark ml - Paris Spark meetup Dec 2015
Record linkage, a real use case with spark ml  - Paris Spark meetup Dec 2015Record linkage, a real use case with spark ml  - Paris Spark meetup Dec 2015
Record linkage, a real use case with spark ml - Paris Spark meetup Dec 2015
 
Spark dataframe
Spark dataframeSpark dataframe
Spark dataframe
 
June Spark meetup : search as recommandation
June Spark meetup : search as recommandationJune Spark meetup : search as recommandation
June Spark meetup : search as recommandation
 
Spark ML par Xebia (Spark Meetup du 11/06/2015)
Spark ML par Xebia (Spark Meetup du 11/06/2015)Spark ML par Xebia (Spark Meetup du 11/06/2015)
Spark ML par Xebia (Spark Meetup du 11/06/2015)
 
Spark meetup at viadeo
Spark meetup at viadeoSpark meetup at viadeo
Spark meetup at viadeo
 
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamielParis Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
 

Introduction à HDFS

  • 1. 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 Hadoop Distributed File System Charly CLAIRMONT Altic - http://altic.org charly.clairmont@altic.org @egwada
  • 2. 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
  • 3. 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!
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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...
  • 11. 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
  • 12. 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)
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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.)
  • 19. 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
  • 20. 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 CLAIRMONT Altic - http://altic.org charly.clairmont@altic.org @egwada