1 
Benoît de CHATEAUVIEUX 
Tél : +33 (0)1 58 56 10 00 
Fax : +33 (0)1 58 56 10 01 
Hadoop 
50, avenue des Champs-Elysées 
...
2 
L’histoire d’Hadoop 
Le principe et l’architecture d’Hadoop 
Un filesystem: HDFS 
Un framework (historique) de traiteme...
3 
Démos sur Hortonworks Data Platform 
VM pré-cablée pour tester Hadoop 
http://hortonworks.com/products/hortonworks-sand...
4 
Présentation d’Hadoop – Qu’est ce que c’est ? 
Solution Open Source Big Data fournissant un socle 
Distribué 
Stockage ...
5 
Historique Hadoop
6 
Pour les systèmes décisionnels, Hadoop s’impose 
comme l’architecture de référence sur la marché 
Open •Apache Hadoop 
...
7 
Hortonworks Data Platform
8 
HDFS: Hadoop Distributed File System
9 
Les composants d’Hadoop – HDFS 
Système de fichiers distribué 
Scalable horizontalement (ajout de noeuds) 
Tolérant aux...
10 
Les composants d’Hadoop – Un cluster HDFS 
RÉSEAU LOCAL 
Name node Data node 
file1 #1 
file2 #2 
Client 
HDFS 
Data n...
11 
MapReduce
12 
Framework de programmation 
MapReduce 
Parallélisation automatique des jobs Hadoop. 
Gestion transparente du mode dist...
13 
Data node 
Task tracker Task tracker Task tracker 
file1 #1 
Data node 
file1 #2 
Data node 
file1 #3 
Client 
MR 
Dat...
14 
Principe fondamental d’Hadoop 
Le traitement est envoyé 
là où réside la donnée
15 
Data node 
Task tracker Task tracker Task tracker 
file1 #1 
Data node 
file1 #2 
Data node 
file1 #3 
Mapper 
Reducer...
16 
Exemple de MapReduce 
Les Mapper 
-lisent leur bloc ligne par ligne 
-découpent les lignes en mot 
-envoient ces mots ...
17 
API native en Java 
Bas niveau 
Comment créer un job Map Reduce ? 
Rapide 
Beaucoup de contrôle 
Parfois complexe à ut...
18 
Démo MapReduce
19 
Déroulement
20 
Le repertoire de travail
21
22
23
24
25
26
27 
YARN : Le système d’opération Hadoop
28 
YARN: Avant - Après
29 
Explosion de l’écosystème
30 
Explosion de l’écosystème
31 
Requêtage SQL sur Hadoop (HiveQL) 
Apache Hive 
Permet d’accéder simplement aux données 
Ouvre Hadoop aux habitués du ...
32 
Le projet Stinger d’Hortonworks
33 
Démo Hive
34
35
36
37
38 
Ambari
39 
Continuer à explorer l’écosystème 
HBase 
Streaming (Storm, …) 
… 
Optimisation Hadoop (jobs MapReduce, etc.) 
Industr...
Prochain SlideShare
Chargement dans…5
×

Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop

1 706 vues

Publié le

Rapide introduction à Hadoop lors du lancement du Casablanca Hadoop & Big Data Meetup.
En partenariat avec Hortonworks

http://www.meetup.com/Casablanca-Hadoop-et-Big-Data-Meetup

Publié dans : Technologie
0 commentaire
4 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 706
Sur SlideShare
0
Issues des intégrations
0
Intégrations
8
Actions
Partages
0
Téléchargements
158
Commentaires
0
J’aime
4
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Merci Nabil pour cette intro aux BD Graph
    A mon tour, je vais vous faire une intro à Hadoop
    L’idée n’est pas de vous présenter en détail cette plateforme assez complexe mais de comprendre le principe et l’archi et coder ensemble un job
  • Commodity => Boites à Pizza au lieu de gros serveur IBM Power System
    Vendor LockIn => enorme customisation Hadoop chez les géants du web
  • En 2002, Doug Cutting - créateur de Lucene - veut créer un moteur de recherche web open-source sur la base de Lucene.  Projet Nutch
    En 2003, Google publie le WP « GFS », en 2004 Doug porte Nutch sur NDFS
    En 2004: Google publie le papier « MapReduce », en 2005, Doug migre complètement Nutch sur MR
    En 2006, Doug sort le projet de Lucene et invente le nom (éléphant de son fils)
    Même année, recruté par Yahoo! (en 2008, Yahoo! = cluster Hadoop de 10.000 nœuds)
    Maintenant Cutting est chez Cloudera et président de Apache SF

    + histoire HW
  • Les alliances

    Intel-Cloudera-MongoDB
    Intel a investi 740 millions $ dans Cloudera et souhaite en faire la plateforme de facto de l’IoT
    Intel a aussi investi dans MongoDB

    Hortonworks-Teradata-Microsoft-SAP
    Partenariats « revendeurs » et « techniques »

    Cavaliers seuls:
    Pivotal  mais fait partie de la fédération EMC avec VMWare, etc.
    IBM
  • Core Hadoop = HDFS, YARN, MR, Console web & Cli

    Slide = HDP mais alternatives
    Scheduling = Azkaban
    Au dessus de HDFS = Hbase
    HDP inclus Ambari  Cloudera propose Cloudera Manager (plus mature et complet mais propriétaire)

    Déploiement sur Linux/Windows (beau partenariat MS/HW: HDP sur Windows – MS contribue en OSS avec son background BI, etc.)

    HA dispo sans techno externe depuis la 2.0

    ======================
    Zookeeper: Gère tout ce qui demande unesynchronisation dans le cluster
    Verrous : dans la base de données Hbase par exemple
    Notification d’évènement
    Haute dispo HDFS
  • On a 2 fichiers (le orange et le vert) qui sont divisés en blocs (de 128 Mo)
    Chaque bloc est déployé (intelligemment) sur un le cluster et répliqué (indice de réplication = 3 par défaut. Dans cet exemple = 2)
    => Dans cet exemple, on peut perdre 1/3 des nœuds du cluster sans perdre de données

    /*
    NameNode = SPOF
    Hadoop 1 : Linux HA / Wmware Vsphere
    Hadoop 2 : Actif/Passif – NameMode en hot standby + service de journal
    */
  • On en parle car:
    MapReduce a été l’unique moyen de faire de processing sur Hadoop jusqu’à YARN
    Une grande partie des BD NoSQL intègre une implem MR (ex: MongoDB…)
  • Switch de mindset (procédural  objet)
    Avec un peu d’astuce on peut traiter énormément de pb en MR (mais il faut apprendre à penser MR)

    Ex: Choses faciles en SGBDR mais Faire des jointures en Map Reduce n’est pas trivial
  • On a notre Cluster: nameNode + DataNode et donnée distribuée

    Le client soumet un job au JobTracker
    Le jobTracker distribue le job sur les différents nœuds du cluster ou se trouve la donnée
  • Vous vous souvenez de l’intro au Big Data ?
     Le goulet c’est le I/O
  • Les mappers prennent la donnée en entrée, la convertisse au format clé/valeur (+traitement additionnel si besoin)

    S&S: Se charge de trier les données en sortie des Mapper (en fonction de leur clé) + distribuer vers les Reducer
    Ils vont diriger tous les enregistrements qui ont la même clé (en provenance de tous les mapper) vers le même reducer

    Ex: je compte les mots d’un énorme fichier
    Le fichier est découpé en bloc et les Mapper ont chacun un bloc.
    Ils le traitent ligne par ligne
    A chaque fois q’un des mapper verra le mot A, il l’enverra vers le Reducer 1
    A chaque fois q’un des mapper verra le mot B, il l’enverra vers le Reducer 2
     A la fin de la phase de Map, Le Reducer 1 aura reçu toutes les instances du mot A remontées par tous les Mappers

    Le Reducer applique le traitement (somme, statistique, etc.)  Il consolide les données issues du Mapper

    Remarque:
    Exemple avec 2 reducers. On peut en avoir 1 seul ou même 0 (les Mapper écrivent directement la sortie)
  • Le wordCount, c’est le Hello World du MapReduce !

    MR découpe le fichier en splits et passe les splits au mapper
    Les mappers lisent leur split ligne par ligne, découpent les mots et passent la sortie au Reducer

    La phase de S&S combine les paires qui ont la même clé et trie
    Les reducers font la somme des 1
  • YARN, en tant que Fwk, leur a ouvert l’accès à la plateforme
    Un OS au dessus d’HDFS
    YARN permet d’aller au-delà du batch et ne plus passer par MR pour attaquer HDFS

    mapreduce comme paradigme de développement / pattern d'accès à la data (scripts à deux phases, Map et reduce). en dessous tu as le moteur d'exécution qui peut être mapreduce, ou tez
  • Localhost:8080
  • Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop

    1. 1. 1 Benoît de CHATEAUVIEUX Tél : +33 (0)1 58 56 10 00 Fax : +33 (0)1 58 56 10 01 Hadoop 50, avenue des Champs-Elysées 75008 Paris - FRANCE © OCTO 2014 www.octo.com Twitter: @benchato
    2. 2. 2 L’histoire d’Hadoop Le principe et l’architecture d’Hadoop Un filesystem: HDFS Un framework (historique) de traitements distribués: MapReduce Quelques composants de l’écosystème Démo MapReduce Démo Hive Présentation Ambari De quoi allons nous parler ?
    3. 3. 3 Démos sur Hortonworks Data Platform VM pré-cablée pour tester Hadoop http://hortonworks.com/products/hortonworks-sandbox/
    4. 4. 4 Présentation d’Hadoop – Qu’est ce que c’est ? Solution Open Source Big Data fournissant un socle Distribué Stockage Traitement Scalable Scalabilité linéaire Stockage local  Rapide et peu cher SAN  2-10$ / Go NAS  1-5$/ Go Local  0.05$ / Go Clusters de « commodity hardware » Open Source pour éviter le « vendor lock-in »
    5. 5. 5 Historique Hadoop
    6. 6. 6 Pour les systèmes décisionnels, Hadoop s’impose comme l’architecture de référence sur la marché Open •Apache Hadoop Source •Cloudera •Hortonworks •MapR Pure Players •Greenplum (Pivotal) •IBM InfoSphere BigInsights (CDH) •Oracle Big data appliance (CDH) •NetApp Analytics (CDH) •… Editeurs •Amazon Elastic MapReduce •Microsoft Azure HDInsight (HW) •Hadoop on Google GCP Cloud publique De nombreuses solutions d’entreprise souvent construites autour d’Hadoop
    7. 7. 7 Hortonworks Data Platform
    8. 8. 8 HDFS: Hadoop Distributed File System
    9. 9. 9 Les composants d’Hadoop – HDFS Système de fichiers distribué Scalable horizontalement (ajout de noeuds) Tolérant aux pannes grâce à la réplication intelligente des blocs (128Mo) Un noeud HDFS sur chaque DataNode du cluster HDFS est optimisé Pour le stockage de gros fichiers en nombre réduit (< 1M de fichiers) Pour la lecture en bloc de ces fichiers (« full scan »)  Pas de Random Access Déposer, naviguer, télécharger, supprimer des fichiers CLI ou interface web Le NameNode maintient la liste des fichiers et de ses blocs Analogue à la FAT d’un système de fichiers classique
    10. 10. 10 Les composants d’Hadoop – Un cluster HDFS RÉSEAU LOCAL Name node Data node file1 #1 file2 #2 Client HDFS Data node file1 #1 file1 #2 file2 #1 Data node file2 #2 file1 #2 file2 #1 /file1 1 2 /file2 1 2 RACK 1 RACK 2 Console web
    11. 11. 11 MapReduce
    12. 12. 12 Framework de programmation MapReduce Parallélisation automatique des jobs Hadoop. Gestion transparente du mode distribué  agréable pour le développeur ! MapReduce = 2 fonctions map()  convertir une donnée en entrée en une série de paires clé/valeur et reduce()  appliquer un traitement à l'ensemble des valeurs trouvées pour une clé  Ie: consolider les données issues du Mapper Map Reduce est un framework  Structurant en terme de développement / conception  Il faut rentrer dans le paradigme
    13. 13. 13 Data node Task tracker Task tracker Task tracker file1 #1 Data node file1 #2 Data node file1 #3 Client MR Data node Job tracker Name node Présentation d’Hadoop – Map Reduce
    14. 14. 14 Principe fondamental d’Hadoop Le traitement est envoyé là où réside la donnée
    15. 15. 15 Data node Task tracker Task tracker Task tracker file1 #1 Data node file1 #2 Data node file1 #3 Mapper Reducer Mapper Reducer Mapper Data node Job tracker Name node Shuffle & sort Client MR Présentation d’Hadoop – Map Reduce
    16. 16. 16 Exemple de MapReduce Les Mapper -lisent leur bloc ligne par ligne -découpent les lignes en mot -envoient ces mots aux Reducers La phase de Shuffle & Sort -combine les paires qui ont la même clé -trie Les Reducers -somment les 1 -envoient vers la sortie (HDFS) la liste des mots et le compte associé
    17. 17. 17 API native en Java Bas niveau Comment créer un job Map Reduce ? Rapide Beaucoup de contrôle Parfois complexe à utiliser pour des tâches complexes (ex: joins) Trois éléments essentiels Mapper : classe contenant la méthode map() Reducer : classe contenant la méthode reduce() Driver : classe contenant la méthode main() et configurant le job Il est aussi possible d’écrire des jobs Map Reduce indépendamment du langage (Shell, Python, Ruby…) grâce à l’API Streaming Hadoop
    18. 18. 18 Démo MapReduce
    19. 19. 19 Déroulement
    20. 20. 20 Le repertoire de travail
    21. 21. 21
    22. 22. 22
    23. 23. 23
    24. 24. 24
    25. 25. 25
    26. 26. 26
    27. 27. 27 YARN : Le système d’opération Hadoop
    28. 28. 28 YARN: Avant - Après
    29. 29. 29 Explosion de l’écosystème
    30. 30. 30 Explosion de l’écosystème
    31. 31. 31 Requêtage SQL sur Hadoop (HiveQL) Apache Hive Permet d’accéder simplement aux données Ouvre Hadoop aux habitués du SQL Propose des drivers ODBC pour brancher des outils externes (Tableau, etc.) Origine: Facebook (90%+ des job Hadoop de Facebook sont générés avec Hive) Les requêtes HiveQL sont compilés en jobs MapReduce Lenteur importante (aujourd’hui: pas interactif mais batch) Faibles performances + Marché très important des BD SQL  Forte concurrence Impala (Cloudera) Spark SQL Hortonworks de son côté pousse la communauté vers l’optimisation (Stinger)
    32. 32. 32 Le projet Stinger d’Hortonworks
    33. 33. 33 Démo Hive
    34. 34. 34
    35. 35. 35
    36. 36. 36
    37. 37. 37
    38. 38. 38 Ambari
    39. 39. 39 Continuer à explorer l’écosystème HBase Streaming (Storm, …) … Optimisation Hadoop (jobs MapReduce, etc.) Industrialiser le déploiement de son cluster Chef/Puppet Capistrano … Pour aller plus loin

    ×