La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Exposés logiciels, systèmes et réseaux"— Transcription de la présentation:

1 Exposés logiciels, systèmes et réseaux
Apache Hadoop Exposés logiciels, systèmes et réseaux Camille DARCY 8 Janvier 2013

2 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

3 Un peu d’histoire... Initié par Doug Cutting
Pré-histoire : le projet Nutch ( ) 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

4 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

5 Objectifs Haute disponibilité / Robustesse Rapidité Abstraction
Mise à l’échelle

6 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

7 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

8 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

9 MapReduce Qu’est-ce que MapReduce ?
Un modèle de programmation pour faire du calcul distribué Un framework Implémentation Open-Source dans Hadoop

10 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

11 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

12 Architecture globale Configuration de l’architecture matérielle dans des fichiers XML ou via outils de supervision NameNodes et DataNodes : noeuds gérant la répartition des données et leur stockage (HDFS) JobTrackers et TaskTrackers : noeuds gérant la planification et l’exécution des calculs (MapReduce) Transparence au niveau du framework pour l’exécution de tâches

13 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

14 Modes d’execution Standalone mode Pseudo-distributed mode
Fully-distributed mode

15 Execution Standalone Objectif : Tester un programme simple ou MapReduce L’exemple du Sudoku

16 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 Configuration de l’architecture matérielle dans des fichiers XML ou via outils de supervision NameNodes et DataNodes : noeuds gérant la répartition des données et leur stockage (HDFS) JobTrackers et TaskTrackers : noeuds gérant la planification et l’exécution des calculs (MapReduce) Transparence au niveau du framework pour l’exécution de tâches

17 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>

18 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>

19 Démonstration en mode pseudo-distributed

20 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) Configuration de l’architecture matérielle dans des fichiers XML ou via outils de supervision NameNodes et DataNodes : noeuds gérant la répartition des données et leur stockage (HDFS) JobTrackers et TaskTrackers : noeuds gérant la planification et l’exécution des calculs (MapReduce) Transparence au niveau du framework pour l’exécution de tâches

21 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>

22 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>

23 Démonstration en mode distributed

24 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

25 Utilisateurs Yahoo! Facebook
Utilisait un cluster de 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...

26 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

27 Webographie Wikipedia Apache Hadoop Cloudera Yahoo! Hadoop
Apache Hadoop et Cloudera Yahoo! Hadoop Blog de Brad Hedlund network/


Télécharger ppt "Exposés logiciels, systèmes et réseaux"

Présentations similaires


Annonces Google