Hadoop
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

 

Statistics

Views

Total Views
205
Views on SlideShare
205
Embed Views
0

Actions

Likes
0
Downloads
9
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Hadoop Presentation Transcript

  • 1. Zoghlami Manel Ben Hmida Imen Nefzaoui Lobna 17/05/2014 1M1MPDAM
  • 2.  Introduction  Composants de base du système  HDFS  Map Reduce  Implémentations et outils bases sur Hadoop  Relation entre le frame work Hadoop et le concept BigData  IBM lance son mobile, de stockage et Hadoop offres pour les mainframes  Conclusion 17/05/2014M1MPDAM 2
  • 3. Introduction 17/05/2014 3M1MPDAM
  • 4.  Hadoop est un framework Java libre destiné à faciliter la création d'applications distribuées et scalables.  Il permet aux applications de travailler avec des milliers de nœuds et des pétaoctets de données. Hadoop a été inspiré par les publications MapReduce, GoogleFS et BigTable de Google.  Hadoop a été créé par Doug Cutting et fait partie des projets de la fondation logicielle Apache depuis 2009. 17/05/2014 4M1MPDAM
  • 5.  Nécessité de traiter beaucoup de données  Nécessité de paralléliser le traitement sur multitude de processeurs  Donne évolutivité avec du matériel de base à faible coût 17/05/2014 5M1MPDAM
  • 6.  Fonctionne sur du matériel de base pas cher  Gère automatiquement la réplication des données et l'échec de nœud  Il fait le travail dur - vous pouvez vous concentrer sur le traitement des données  Enregistrement des coûts et le traitement de données efficace et fiable 17/05/2014 6M1MPDAM
  • 7. 17/05/2014 7M1MPDAM
  • 8.  Au commencement, deux publications Google :  Google File System (GFS) : une solution évolutive système de fichiers distribué pour les applications de données intensives réparties  MapReduce: Traitement des données simplifiée sur les grands clusters  Ces systèmes décrivent la nouvelle infrastructure Google, et restent propriétaires. 17/05/2014 8M1MPDAM
  • 9.  Pendant ce temps là, Doug Cutting, créateur de Lucene et Nutch, cherche un framework pour distribuer les calculs de graphes Nutch  Il implémente les principes de GFS et MapReduce dans Nutch  Il est embauché par Yahoo! pour poursuivre ces développements  Yahoo donne Hadoop à la fondation Apache 17/05/2014 9M1MPDAM
  • 10. Composants de base du système 17/05/2014 10M1MPDAM
  • 11.  Hadoop se compose de deux systèmes : HDFS et MapReduce  Cinq types de process vont gouverner ces systèmes 17/05/2014 11M1MPDAM
  • 12.  Le Namenode est le process qui pilote HDFS : il sait où sont stockées les données  C'est lui qui orchestre les DataNodes  Nécessite beaucoup de RAM 17/05/2014 12M1MPDAM
  • 13.  Le SecondaryNamenode prends des snapshots des logs du Namenode à intervalles réguliers  Ce n'est pas un backup du NameNode : il peut aider à récupérer des données et relancer un cluster, mais ça n'a rien d'automatique 17/05/2014 13M1MPDAM
  • 14.  Les Datanodes sont les noeuds sur lesquels résident les données  Ce sont eux qui traduisent les blocks HDFS en fichiers sur disque  En communication constante avec le Namenode 17/05/2014 14M1MPDAM
  • 15.  Le JobTracker pilote l'exécution des jobs sur le cluster  C'est lui qui assigne les tâches aux TaskTrackers, et gèrent leur cycle de vie  Il est également responsable de la gestion des erreurs, et de la relance des jobs 17/05/2014 15M1MPDAM
  • 16.  Les TaskTrackers exécute les jobs (Map et Reduce)  Ils communiquent au JobTracker l'état des jobs 17/05/2014 16M1MPDAM
  • 17. HDFS 17/05/2014 17M1MPDAM
  • 18.  L'unité de stockage de base est le Block (64Mb par défaut)  Chaque block est répliqué sur plusieurs nœuds  HDFS est fault-tolerant : si un noeud tombe, les autres noeuds peuvent continuer à servir les fichiers 17/05/2014 18M1MPDAM
  • 19.  HDFS est orienté batchs : pas adapté aux traitements online  HDFS est orienté « write once, read many times » : pas de modifications arbitraires au milieu d'un fichier  HDFS n'est pas fait pour stocker beaucoup de petits fichiers : trop de metadata à maintenir 17/05/2014 19M1MPDAM
  • 20.  Supporte différents types de compressions : GZIP,BZ, LZO  Filesystem manipulable via Java, C…  Hadoop supporte également d'autres types de file systems : local, FTP… 17/05/2014 20M1MPDAM
  • 21. 17/05/2014 21M1MPDAM
  • 22.  On peut stocker des données sous forme de fichier texte standard  Ou sous forme de fichier binaire optimisé pour MapReduce, compressable, splittable : le SequenceFile  Existe aussi en version permettant des lookups : le MapFile 17/05/2014 22M1MPDAM
  • 23. Map Reduce 17/05/2014 23M1MPDAM
  • 24.  MapReduce n'est pas un langage, c'est un paradigme de programmation. L'idée est de découper un traitement de données en deux phases.  La première phase est le Map : c'est là que l'on va transformer les données en entrée  La seconde phase est le reduce : on va y aggréger les résultats du Map 17/05/2014 24M1MPDAM
  • 25.  Le format de base des échanges entre map et reduce est la paire clé / valeur  La sérialisation des objets est gérée par Hadoop, sous forme de Writable : pas de sérialisation Java native  Hadoop fournit des types primitifs sérializables, mais on peut bien sûr fournir ses propres types complexes  La phase de shuffle, entre map et reduce, va partitionner les données par clé 17/05/2014 25M1MPDAM
  • 26. 17/05/2014 26M1MPDAM
  • 27.  Map : <k1, v1> → list(k2,v2)  Reduce : <k2, list(v2)> → list(k3,v3) 17/05/2014 27M1MPDAM
  • 28.  Tout commence par la définition d'un Job, basé sur une Configuration, et sur des paramètres utilisateurs: 17/05/2014 28M1MPDAM
  • 29.  On donne à ce job des implémentations de Mapper, Reducer, types des fichiers d'entrée et sortie , types des paramètres. 17/05/2014 29M1MPDAM
  • 30.  Le Mapper est très simple : on extrait l'url, et on « émet » un compteur de 1 17/05/2014 30M1MPDAM
  • 31.  Le Reducer additionne les valeurs obtenue pour une même clé.  Hadoop propose pour ce type de Reducer le LongSumReducer. 17/05/2014 31M1MPDAM
  • 32.  Si on veut travailler sur des types non primitifs, on peut créer un WritableComparable 17/05/2014 32M1MPDAM
  • 33.  On utilise la commande hadoop pour lancer et paramétrer son job 17/05/2014 33M1MPDAM
  • 34.  L'utilisation d'Hadoop n'est pas réservée aux jobs Java. Tout langage lisant STDIN / STDOUT peut se brancher sur la Streaming API : PHP, Ruby, Python...  On va spécifier en paramètre les scripts à exécuter lors des phases de map et reduce 17/05/2014 34M1MPDAM
  • 35. Implémentations et outils bases sur Hadoop 17/05/2014 35M1MPDAM
  • 36.  Le système de base de données non- relationnelles distribué HBase utilise le système de fichiers HDFS pour le stockage de données. Sa particularité d‘étre structuré pour pouvoir gérer de grandes tables de données. Inspirée également des publications de Google sur sa base de données Big Table, elle a pour caractéristique d‘étre une base de données orientée colonnes.  HBase est aujourd'hui largement utilisé par de nombreuses grandes entreprises, comme Facebook qui l'utilise depuis 2010 en remplacement de Cassandra. 17/05/2014 36M1MPDAM
  • 37.  Hive est un projet visant à assurer l'indexation, l'accés et l'analyse de gros volumes de données. Il permet de fournir une infrastructure de datawarehouse, construite sur la base du framework Hadoop.  Cette implémentation dispose d'un langage de requête particulier, HiveQL, utilisant des tâches MapReduce pour accéder à des données de manière distribuée.  Initialement développé par Facebook, il fait partie aujourd'hui de la fondation Apache et est maintenu par des entreprises comme Netflix et Amazon. 17/05/2014 37M1MPDAM
  • 38.  Un autre projet de la fondation Apache, Mahout, a pour objectif de fournir une bibliothèque permettant le développement d'applications distribuées de machine-learning. Cette bibliothèque peut s'interfacer avec des applications Hadoop et fournit de nombreux algorithmes pouvant s'exécuter sur des clusters de machines. 17/05/2014 38M1MPDAM
  • 39.  Dans le cadre de l'administration de clusters et d'applications distribuées, ZooKeeper, permet de configurer les machines physiques et services entrant dans le contexte d'applications construites sur Hadoop. Il s'agit également d'un projet de la fondation Apache, largement utilisé par les entreprises gérant de gros volumes de données. 17/05/2014 39M1MPDAM
  • 40.  Le projet Chukwa, construit également sur Hadoop, permet l'analyse et le monitoring des taches MapReduce. Celui-ci est principalement utilisé pour l'analyse de logs collectés via des plate-formes Web. 17/05/2014 40M1MPDAM
  • 41.  Cloudera est une start-up de la Silicon Valley, fondée par Jeff Hammerbach, ancien de chez Facebook ainsi que des ingénieurs de chez Yahoo ayant travaillé dans le domaine du distribué sur les projets Nutch et Hadoop.  Depuis 2011, elle fournit une distribution basée sur Unix, Cloudera CDH, embarquant la version 1.0 de la bibliothèque Hadoop. Les intérêts de cette distribution sont de pouvoir déployer rapidement Hadoop sur des machines (via le réseau), de manière homogène, ce qui simplifie et accélére la configuration et la mise en place de clusters de machines dans les entreprises. 17/05/2014 41M1MPDAM
  • 42.  Hadoop a été solution très efficace pour les entreprises qui traitent des données à perabytes.  Il a résolu de nombreux problèmes dans l'industrie liés à la grande gestion de données et système distribué Comme il est open source, il est adopté par les entreprises à grande échelle.. 17/05/2014 42M1MPDAM
  • 43. 17/05/2014M1MPDAM 43