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

Slides:



Advertisements
Présentations similaires
Un environnement de développement éducatif
Advertisements

Le moteur
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
1 1 Projet doption Réalité Virtuelle Simulation dun habitat domotisé Florent Renault Xiaoyu Gao Mercredi 27 mai 2009.
Présentation du prototype :
Koha - Greenstone Symposium Koha Miramas 28 mai 2010
Nos Partenaires Rencontres ASP.NET : Développement Rapide dApplications Web.
Conception Utilise le CMS opensource Wordpress (Utilisé par 14% du 1 er million 1 ; «Open Source CMS Award 2 » en 2007 et prix du meilleur CMS.
A NETWORK-AWARE DISTRIBUTED STORAGE CACHE FOR DATA INTENSIVE ENVIRONMENTS Brian L. TIERNEY, Jason LEE, Brian CROWLEY, Mason HOLDING Computing Sciences.
ACTIVITES Le calcul littéral (3).
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Guillaume KRUMULA présente Exposés Système et Réseaux IR3 Mardi 5 Février 2008.
Directeur de Thèse : Pr. Witold Litwin
Architecture de réseaux
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
Génération interactive dimages projectives : Application à la Radiothérapie Pierre BLUNIER Du 01/12/2002 au 28/03/2003 Centre Léon Bérard.
Autorisations Utilisation eCATT
simulateur de réseau de machines UML connectées par WiFi mode ad-hoc
Configuration de Windows Server 2008 Active Directory
Fluke Networks NetWork Time Machine. Évolutions de loffre NTM Service Technique 2.
Les outils d’intégration continue
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Réalisation Gestionnaire de Stock
L'équilibrage de charge Utilisation, principe et solutions
Cloud Computing et mesures de performances
Dessin Vectoriel Collaboratif
Gestion des bases de données
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
SIDENA BTS IRIS Session 2008 CARME Arnaud.
Développement d’application web
Visio 2010 : représentez et partagez encore plus simplement vos diagrammes et données
Développer en C avec Eclipse Introduction Création d'un projet Ajout de fichiers Compilation Exécution Utiliser le débogueur Département dinformatique.
Projet Génie Logiciel & UML, Bases de Données & Interfaces
PLD GHome H4214 Piccolo Thomas Gu Lei Deville Romain Huang Yachen
Framework Play 2.0 Démonstration du proof of concept
SPI - Serial Peripheral Interface
Projet d’Ingénierie du Logiciel - Prise en main du robot humanoïde NAO
Notre calendrier français MARS 2014
C'est pour bientôt.....
Veuillez trouver ci-joint
Projet de Master première année 2007 / 2008
Notre Accompagnement pour Votre Offre de Cloud
2 Développer, tester et déployer un site web avec WebMatrix (RIA101) Christine Dubois 9 février 2011.
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
Page 1 © Jean Elias Gagner en agilité numérique. Page 2 © Jean Elias Les fournisseurs.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
‘‘Open Data base Connectivity‘‘
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Page 1 © Jean Elias Recherche et veille. Page 2 © Jean Elias Les fournisseurs.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
1 Modèle pédagogique d’un système d’apprentissage (SA)
Introduction.
10 paires -. 9 séries de 3 étuis ( n° 1 à 27 ) 9 positions à jouer 5 tables Réalisé par M..Chardon.
CALENDRIER-PLAYBOY 2020.
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Application de gestion de candidatures
Outil de gestion des cartes grises
9 paires séries de 3 étuis ( n° 1 à 27 )
Quel est l’intérêt d’utiliser le diagramme de Gantt dans la démarche de projet A partir d’un exemple concret, nous allons pouvoir exploiter plusieurs parties.
Projet Implémentation du protocole MMT sous Linux
Plan Définitions et exemples Composants de cluster
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Soutenance ProJet Individuel
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Offre DataCenter & Virtualisation Laurent Bonnet, Architecte Systèmes Alain Le Hegarat, Responsable Marketing 24 Novembre 2009.
Retour d'expérience de l'utilisation du cloud comme infrastructure de service Guillaume PHILIPPON.
Hadoop distributions Hadoop Hadoop est un framework Java libre destiné à faciliter la création d'applications distribuées.
Transcription de la présentation:

Exposés logiciels, systèmes et réseaux 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... 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 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 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 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 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 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 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 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

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

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 Standalone mode Pseudo-distributed mode Fully-distributed mode

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

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

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

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

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

Démonstration en mode distributed

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 Yahoo! Facebook 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 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 Wikipedia Apache Hadoop Cloudera Yahoo! Hadoop 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/