Apache Hadoop

  • Published on
    26-Jan-2016

  • View
    27

  • Download
    0

Embed Size (px)

DESCRIPTION

Apache Hadoop. Exposs logiciels, systmes et rseaux. Camille DARCY 8 Janvier 2013. Plan. Un peu dhistoire... Le framework et ses objectifs Les grands concepts le systme de fichiers HDFS MapReduce Exemples dutilisation Quelques implmentations et outils Conclusion. - PowerPoint PPT Presentation

Transcript

<ul><li><p>Apache HadoopExposs logiciels, systmes et rseauxCamille DARCY8 Janvier 2013</p></li><li><p>PlanUn peu dhistoire...Le framework et ses objectifsLes grands conceptsle systme de fichiers HDFSMapReduceExemples dutilisationQuelques implmentations et outilsConclusion</p></li><li><p>Un peu dhistoire...Initi par Doug CuttingPr-histoire : le projet Nutch (2002-2004)Dveloppement influenc par les publications sur GFS et MapReduceEn 2009, intgr la fondation ApacheSortie de la v1.0.0 Open-Source en 2011</p></li><li><p>Le framework JavaBibliothque logicielle JavaFacilite le dveloppement de systmes danalyse et de stockage de Big DataFournit un ensemble doutils (executables, dmons...)Excution de calculs sur une plusieurs milliers de machines (clusters)Deux concepts majeurs : HDFS et MapReduce</p></li><li><p>ObjectifsHaute disponibilit / RobustesseRapiditAbstractionMise lchelle</p></li><li><p>HDFSStockage de donnes distribuInspir par le Google FileSystem (GFS)Haute disponibilit / rplication des donnesBlocs de 64Mo (chunks)Utilise TCP/IP et RPC</p></li><li><p>Htes HDFSArchitecture Matre / EsclaveNameNode : Gre lespace de noms du systme de fichiers (serveurs esclaves) et laccs aux fichiers par les clientsDataNode : Gre le stockage des fichiers sur un noeud (cration / suppression de blocs de donnes, rplication)Rplication configurable</p></li><li><p>Problmatiques traites par HDFSRobustesse Battements de coeur Auto-balancingSommes de contrleOrganisation des donnesDcoupage des fichiers en blocsMise en cache des fichiers avant insertionReplication entre DataNodes</p></li><li><p>MapReduceQuest-ce que MapReduce ?Un modle de programmation pour faire du calcul distribuUn frameworkImplmentation Open-Source dans Hadoop</p></li><li><p>Fonctionnement de MapReduceTraitement distribu de donnes en deux fonctionsMap : fonction de traitement par dcomposition en sous-problmes Etape intermdiaire : CombineReduce : fonction daggrgation des rsultats pour composer une unique solution</p></li><li><p>MapReduce dans HadoopUtilise HDFS en mode distribuJobTracker : Noeud matre responsable de lexcution de tches sur un clusterTaskTracker : Noeud esclave excutant une tche (map) sur une partie des donnes</p></li><li><p>Architecture globale</p></li><li><p>Executable Hadoopbin/hadoop fs [command_options]Manipulation du systme de fichiers distribu (HDFS)bin/hadoop jar mainClass [args]Lancement dune application Hadoopbin/hadoop job [-submit, -status, -kill...]Programmer / grer des tches</p></li><li><p>Modes dexecutionStandalone mode</p><p>Pseudo-distributed mode</p><p>Fully-distributed mode</p></li><li><p>Execution StandaloneObjectif : Tester un programme simple ou MapReduceLexemple du Sudoku</p></li><li><p>Exemple de Job MapReduceJob MapReduce = Programme JavaExecution de la commande GrepEn entre : fichiers de configuration HadoopEn sortie : mots correspondant une regex et son nombre doccurences</p></li><li><p>Pseudo-distributedConfiguration du NameNode et du JobTracker (master)conf/core-site.xml:</p><p> fs.default.name hdfs://localhost:9000 </p><p>conf/masters:localhostconf/mapred-site.xml:</p><p> mapred.job.tracker localhost:9001 </p></li><li><p>Pseudo-distributedConfiguration du/des DataNode(s) / TaskTracker(s) (slaves)conf/slaves:localhostConfiguration de la rplicationconf/hdfs-site.xml:</p><p> dfs.replication 1 </p></li><li><p>Dmonstration en mode pseudo-distributed</p></li><li><p>Exemple de Job MapReduceCompter les mots dans un ensemble de fichiersEn entre : oeuvres de Victor HugoEn sortie : chaque mot et son nombre doccurencesExcution en mode distribu (machine + VM)</p></li><li><p>Fully-distributedConfiguration du NameNode et du JobTracker (master)conf/core-site.xml:</p><p> fs.default.name hdfs://master:9000 </p><p>conf/masters:masterconf/mapred-site.xml:</p><p> mapred.job.tracker master:9001 </p></li><li><p>Fully-distributedConfiguration du/des DataNode(s) / TaskTracker(s) (slaves)conf/slaves:slaveConfiguration de la rplicationconf/hdfs-site.xml:...</p><p> dfs.replication 2 </p></li><li><p>Dmonstration en mode distributed</p></li><li><p>Implmentations et outilsStockage de donnes : HBase (Apache)Analyse de donnes : Pig (Yahoo!), Hive (Facebook), Mahout, HamaConfiguration de clusters : ZooKeeper, ChukwaUne distribution Hadoop : Cloudera</p></li><li><p>UtilisateursYahoo!Utilisait un cluster de 10000 machines sous Linux en 2008 rien que pour son moteur de rechercheFacebookDtient le plus grand cluster de machines avec plus de 100 Ptaoctets de stockage en 2012Et beaucoup dautres : Twitter, LinkedIn, IBM, HP, Microsoft, Apple, Amazon, eBay...</p></li><li><p>ConclusionBase intressante pour pouvoir grer de gros volumes de donnesCombinaison de HDFS et de MapReduceImplment dans de nombreux outilsPuissant mais difficile implmenter</p></li><li><p>WebographieWikipediahttp://en.wikipedia.org/wiki/Apache_Hadoop Apache Hadoophttp://hadoop.apache.org et http://wiki.apache.org/hadoop/ Clouderahttp://www.cloudera.com/hadoop/ Yahoo! Hadoophttp://developer.yahoo.com/blogs/hadoop/ Blog de Brad Hedlundhttp://bradhedlund.com/2011/09/10/understanding-hadoop-clusters-and-the-network/</p><p>Configuration de larchitecture matrielle dans des fichiers XML ou via outils de supervisionNameNodes et DataNodes : noeuds grant la rpartition des donnes et leur stockage (HDFS)JobTrackers et TaskTrackers : noeuds grant la planification et lexcution des calculs (MapReduce)Transparence au niveau du framework pour lexcution de tchesConfiguration de larchitecture matrielle dans des fichiers XML ou via outils de supervisionNameNodes et DataNodes : noeuds grant la rpartition des donnes et leur stockage (HDFS)JobTrackers et TaskTrackers : noeuds grant la planification et lexcution des calculs (MapReduce)Transparence au niveau du framework pour lexcution de tchesConfiguration de larchitecture matrielle dans des fichiers XML ou via outils de supervisionNameNodes et DataNodes : noeuds grant la rpartition des donnes et leur stockage (HDFS)JobTrackers et TaskTrackers : noeuds grant la planification et lexcution des calculs (MapReduce)Transparence au niveau du framework pour lexcution de tches</p></li></ul>