Apache hadoop
Download
1 / 27

Apache Hadoop - PowerPoint PPT Presentation


  • 100 Views
  • Uploaded on

Apache Hadoop. Exposés logiciels, systèmes et réseaux. Camille DARCY 8 Janvier 2013. Plan. Un peu d’histoire... Le framework et ses objectifs Les grands concepts le système de fichiers HDFS MapReduce Exemples d’utilisation Quelques implémentations et outils Conclusion.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Apache Hadoop' - ludlow


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Apache hadoop
Apache Hadoop

  • Exposés logiciels, systèmes et réseaux

Camille DARCY

8 Janvier 2013


Plan

  • Un peu d’histoire...

  • Le framework et ses objectifs

  • Les grands concepts

    • le système de fichiers HDFS

    • MapReduce

  • Exemples d’utilisation

  • Quelques implémentations et outils

  • Conclusion


Un peu d histoire
Un peu d’histoire...

  • Initié par Doug Cutting

  • Pré-histoire : le projet Nutch (2002-2004)

  • Développement influencé par les publications sur GFS et MapReduce

  • En 2009, intégré à la fondation Apache

  • Sortie de la v1.0.0 Open-Source en 2011


Le framework java
Le framework Java

  • Bibliothèque logicielle Java

  • Facilite le développement de systèmes d’analyse et de stockage de Big Data

  • Fournit un ensemble d’outils (executables, démons...)

  • Exécution de calculs sur une à plusieurs milliers de machines (clusters)

  • Deux concepts majeurs : HDFS et MapReduce


Objectifs
Objectifs

  • Haute disponibilité / Robustesse

  • Rapidité

  • Abstraction

  • Mise à l’échelle


HDFS

  • Stockage de données distribué

  • Inspiré par le Google FileSystem (GFS)

  • Haute disponibilité / réplication des données

  • Blocs de 64Mo (chunks)

  • Utilise TCP/IP et RPC


H tes hdfs
Hôtes HDFS

  • Architecture Maître / Esclave

  • NameNode : Gère l’espace de noms du système de fichiers (serveurs esclaves) et l’accès aux fichiers par les clients

  • DataNode : Gère le stockage des fichiers sur un noeud (création / suppression de blocs de données, réplication)

  • Réplication configurable


Probl matiques trait es par hdfs
Problématiques traitées par HDFS

  • Robustesse

    • « Battements de coeur »

    • Auto-balancing

    • Sommes de contrôle

  • Organisation des données

    • Découpage des fichiers en blocs

    • Mise en cache des fichiers avant insertion

    • Replication entre DataNodes


Mapreduce
MapReduce

  • Qu’est-ce que MapReduce ?

    • Un modèle de programmation pour faire du calcul distribué

    • Un framework

    • Implémentation Open-Source dans Hadoop


Fonctionnement de mapreduce
Fonctionnement de MapReduce

  • Traitement distribué de données en deux fonctions

  • Map : fonction de traitement par décomposition en sous-problèmes

  • Etape intermédiaire : Combine

  • Reduce : fonction d’aggrégation des résultats pour composer une unique solution


Mapreduce dans hadoop
MapReduce dans Hadoop

  • Utilise HDFS en mode distribué

  • JobTracker : Noeud maître responsable de l’exécution de tâches sur un cluster

  • TaskTracker : Noeud esclave exécutant une tâche (map) sur une partie des données



Executable hadoop
Executable Hadoop

  • bin/hadoop fs [command_options]

    • Manipulation du système de fichiers distribué (HDFS)

  • bin/hadoop jar <jar> mainClass [args]

    • Lancement d’une application Hadoop

  • bin/hadoop job [-submit, -status, -kill...]

    • Programmer / gérer des tâches


Modes d execution
Modes d’execution

  • Standalone mode

  • Pseudo-distributed mode

  • Fully-distributed mode


Execution standalone
Execution Standalone

  • Objectif : Tester un programme simple ou MapReduce

L’exemple du Sudoku


Exemple de job mapreduce
Exemple de Job MapReduce

  • Job MapReduce = Programme Java

  • Execution de la commande Grep

  • En entrée : fichiers de configuration Hadoop

  • En sortie : mots correspondant à une regex et son nombre d’occurences


Pseudo distributed
Pseudo-distributed

  • Configuration du NameNode et du JobTracker (master)

conf/core-site.xml:

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

</configuration>

conf/masters:

localhost

conf/mapred-site.xml:

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

</property>

</configuration>


Pseudo distributed1
Pseudo-distributed

  • Configuration du/des DataNode(s) / TaskTracker(s) (slaves)

conf/slaves:

localhost

  • Configuration de la réplication

conf/hdfs-site.xml:

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>


D monstration en mode pseudo distributed
Démonstration en mode pseudo-distributed


Exemple de job mapreduce1
Exemple de Job MapReduce

  • Compter les mots dans un ensemble de fichiers

  • En entrée : oeuvres de Victor Hugo

  • En sortie : chaque mot et son nombre d’occurences

  • Exécution en mode distribué (machine + VM)


Fully distributed
Fully-distributed

  • Configuration du NameNode et du JobTracker (master)

conf/core-site.xml:

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://master:9000</value>

</property>

</configuration>

conf/masters:

master

conf/mapred-site.xml:

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>master:9001</value>

</property>

</configuration>


Fully distributed1
Fully-distributed

  • Configuration du/des DataNode(s) / TaskTracker(s) (slaves)

conf/slaves:

slave

  • Configuration de la réplication

conf/hdfs-site.xml:

...

<configuration>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

</configuration>



Impl mentations et outils
Implémentations et outils

  • Stockage de données : HBase (Apache)

  • Analyse de données : Pig (Yahoo!), Hive (Facebook), Mahout, Hama

  • Configuration de clusters : ZooKeeper, Chukwa

  • Une distribution Hadoop : Cloudera


Utilisateurs
Utilisateurs

  • Yahoo!

  • Utilisait un cluster de 10000 machines sous Linux en 2008 rien que pour son moteur de recherche

  • Facebook

  • Détient le plus grand cluster de machines avec plus de 100 Pétaoctets de stockage en 2012

  • Et beaucoup d’autres : Twitter, LinkedIn, IBM, HP, Microsoft, Apple, Amazon, eBay...


Conclusion
Conclusion

  • Base intéressante pour pouvoir gérer de gros volumes de données

  • Combinaison de HDFS et de MapReduce

  • Implémenté dans de nombreux outils

  • Puissant mais difficile à implémenter


Webographie
Webographie

  • Wikipedia

    • http://en.wikipedia.org/wiki/Apache_Hadoop

  • Apache Hadoop

    • http://hadoop.apache.org et http://wiki.apache.org/hadoop/

  • Cloudera

    • http://www.cloudera.com/hadoop/

  • Yahoo! Hadoop

    • http://developer.yahoo.com/blogs/hadoop/

  • Blog de Brad Hedlund

    • http://bradhedlund.com/2011/09/10/understanding-hadoop-clusters-and-the-network/


ad