Hadoop et son écosystème

7 188 vues

Publié le

Présentation de Hadoop et de son écosystème

Publié dans : Logiciels
  • Soyez le premier à commenter

Hadoop et son écosystème

  1. 1. Hadoop et son écosystème par Khanh Tuong MAUDOUX @jetoile 109/10/2015
  2. 2. Hadoop et son écosystème Au programme… • Hadoop : qu’est ce que c’est? – MapReduce – HDFS – Yarn • Ecosystème – Data Integration – Batch Processing – Analytic SQL – Streaming Processing – Machine Learning – Search Engine – Autre 209/10/2015
  3. 3. Hadoop et son écosystème Qui je suis… • Khanh Tuong Maudoux • Développeur Java, JavaEE, BigData indépendant • blog : blog.jetoile.fr • @jetoile • khanh.maudoux@jetoile.fr 309/10/2015
  4. 4. Hadoop et son écosystème Qu’est ce que c’est… 409/10/2015
  5. 5. Hadoop et son écosystème Qu’est ce que c’est… • BigData => V4 – Volume – Vélocité – Variété – Véracité • BigData => Hadoop? 09/10/2015 5 Ne parlera pas des API de programmations comme Cascalog/Hive/Pig/Java/…
  6. 6. Hadoop et son écosystème Qu’est ce que c’est… 09/10/2015 6 HDP 2.3
  7. 7. Hadoop et son écosystème Qu’est ce que c’est… MapReduce 709/10/2015
  8. 8. Hadoop et son écosystème Qu’est ce que c’est… MapReduce 809/10/2015
  9. 9. Hadoop et son écosystème Qu’est ce que c’est… MapReduce 9 • Et… Shuffle 09/10/2015
  10. 10. Hadoop et son écosystème Qu’est ce que c’est… MapReduce 10 • Et… Shuffle 09/10/2015
  11. 11. Hadoop et son écosystème Qu’est ce que c’est… HDFS 1109/10/2015
  12. 12. Hadoop et son écosystème Qu’est ce que c’est… HDFS 12 • Hadoop Distributed FileSystem • FileSystem – Les données sont écrites dans des blocs gérés par le FileSystem • HDFS – Les données sont écrites dans des blocs gérés par le HDFS => Un fichier dans HDFS est constitué de blocs 09/10/2015
  13. 13. Hadoop et son écosystème Qu’est ce que c’est… HDFS 13 • Permet : – La réplication (les blocs sont répliqués) et donc la résilience – La scalabilité (les blocs ne sont pas tous sur la même machine) – … 09/10/2015
  14. 14. Hadoop et son écosystème Qu’est ce que c’est… HDFS 14 • Composé de : – Namespace : structure de répertoire et nom des fichiers – Metadata : propriétaire, permissions et attributs tels que le timestamp – Journaling : permet d’assurer l’intégrité et la gestion des erreurs – Storage : bloc disque, et stockage physique – Tools : clients et utilitaires pour interagir avec le système de fichiers 09/10/2015 Operating System (OS) Virtual File System File System (ext4, ext3, xfs, …) Namespace(s) Metadata Journaling Tools Disk Storage
  15. 15. Hadoop et son écosystème Qu’est ce que c’est… HDFS - Architecture 15 • NameNode et DataNode 09/10/2015 NameNode Namespace Metadata Block Map Journaling Disk DataNode Storage Disk DataNode Storage Disk Storage Disk Bloc report Contient la localisation réelle des données (bloc/datanode) DataNode
  16. 16. Hadoop et son écosystème Qu’est ce que c’est… HDFS - NameNode 16 • Fonctionnement : – fsimage : point de controle (checkpoint) persistant contenant les métadonnées du système de fichiers – edits : journal des opérations • fsimage chargé en mémoire 09/10/2015
  17. 17. Hadoop et son écosystème Qu’est ce que c’est… HDFS - Lecture 1709/10/2015
  18. 18. Hadoop et son écosystème Qu’est ce que c’est… HDFS - Ecriture 1809/10/2015
  19. 19. Hadoop et son écosystème Qu’est ce que c’est… HDFS - HA 1909/10/2015 DN DN DN DN Active NN Standby NN Quorum Journal Manager / Shared Storage Block reports envoyés aux 2 NN Toutes les modifications d’edits sont partagées
  20. 20. Hadoop et son écosystème Qu’est ce que c’est… YARN 2009/10/2015
  21. 21. Hadoop et son écosystème Qu’est ce que c’est… YARN 21 • Avant : – JobTracker – TaskTracker 09/10/2015
  22. 22. Hadoop et son écosystème Qu’est ce que c’est… YARN 22 • Yet Another Ressource Negociator • Composé de : – ResourceManager – NodeManager – ApplicationMaster 09/10/2015
  23. 23. Hadoop et son écosystème Qu’est ce que c’est… YARN et HDFS 2309/10/2015
  24. 24. Hadoop et son écosystème Qu’est ce que c’est… YARN - Multisite 24 • Utilisation du Rack Awareness • Utilisation du StandByNameNode • YARN peut décider d’utiliser la DataNode distant • Dans le cas de l’utilisation d’un StandByNameNode, tous les DataNodes doivent communiquer avec lui • Risque si données incohérentes entre des DataNodes localisés sur des sites différents • Partage d’informations entre les deux NameNodes • Gestion de Zookeeper • Gestion HBase 09/10/2015
  25. 25. Hadoop et son écosystème Ecosystème 2509/10/2015 Batch Processing Analytic SQL Search Engine Machine Learning Stream Processing Workload Management (Yarn) Storage for any type of data Unified, Elastic, Resilient, Secure Data Integration Filesystem (HDFS)
  26. 26. Hadoop et son écosystème Ecosystème Data Integration 2609/10/2015 Batch Processing Analytic SQL Search Engine Machine Learning Stream Processing Workload Management (Yarn) Storage for any type of data Unified, Elastic, Resilient, Secure Data Integration Filesystem (HDFS)
  27. 27. Hadoop et son écosystème Ecosystème Data Integration 27 • Sqoop • Flume • Logstash • Kafka (messaging) 09/10/2015
  28. 28. Hadoop et son écosystème Ecosystème Data Integration - Sqoop 28 • Outils permettant de transférer des données en masse entre Hadoop et un entrepôt de données structuré tel qu’une base de données 09/10/2015
  29. 29. Hadoop et son écosystème Ecosystème Data Integration - Flume 29 • Flume est un service distribué, fiable et hautement disponible servant à la collecte, la l’agrégation et le déplacement d’une grosse quantité de données de logs • Composé de – Source – Sink – Channel 09/10/2015
  30. 30. Hadoop et son écosystème Ecosystème Data Integration - Logstash 3009/10/2015 • Logstash est un simple agent orienté message qu’il est possible de configurer pour combiner différentes fonctions • Composé de – Input – Filter – Output
  31. 31. Hadoop et son écosystème Ecosystème Data Integration - Kafka 31 • Système orienté message de type publish/subscribe implémenté comme système de traces transactionnel distribué, adapté pour la consommation de messages en-ligne et hors ligne • Service de commit de traces distribué, partitionné et répliqué • Les producteurs publient des messages dans des topics, les consommateurs s'abonnent à ces sujets et consomment les messages 09/10/2015
  32. 32. Hadoop et son écosystème Ecosystème Batch Processing 3209/10/2015 Batch Processing Analytic SQL Search Engine Machine Learning Stream Processing Workload Management (Yarn) Storage for any type of data Unified, Elastic, Resilient, Secure Data Integration Filesystem (HDFS)
  33. 33. Hadoop et son écosystème Ecosystème Batch Processing 33 • Hive • Pig • Cascading • Spark 09/10/2015
  34. 34. Hadoop et son écosystème Ecosystème Batch Processing - Hive 34 • Permet l’exécution de requêtes SQL sur un cluster Hadoop en vue d’analyser et d’agréger les données. • Langage de visualisation uniquement • Offre les connecteurs ODBC/JDBC 09/10/2015
  35. 35. Hadoop et son écosystème Ecosystème Batch Processing - Pig 35 • Permet le requêtage des données Hadoop à partir d’un langage de script • Basé sur un langage de haut niveau permettant de créer des programmes de type MapReduce 09/10/2015
  36. 36. Hadoop et son écosystème Ecosystème Batch Processing - Cascading 36 • API de traitement de données et planificateur de requête pour la définition, le partage et le traitement de données 09/10/2015
  37. 37. Hadoop et son écosystème Ecosystème Batch Processing - Spark 37 – Moteur d’analyse multifonction adapté au traitement rapide de gros volumes de données – Concurrent de MapReduce – Basé sur les RDD (Resilient Distributed DataSet) – Peut s’appuyer sur YARN 09/10/2015
  38. 38. Hadoop et son écosystème Ecosystème Analytic SQL 3809/10/2015 Batch Processing Analytic SQL Search Engine Machine Learning Stream Processing Workload Management (Yarn) Storage for any type of data Unified, Elastic, Resilient, Secure Data Integration Filesystem (HDFS)
  39. 39. Hadoop et son écosystème Ecosystème Analytic SQL 39 • Drill • Impala • Spark SQL • Hawq • Presto 09/10/2015
  40. 40. Hadoop et son écosystème Ecosystème Analytic SQL - Drill 40 • Système distribué permettant d’effectuer des requêtes sur de larges données permettant l’analyse interactive des données en SQL • Permet de requêter des sources de données hétérogènes : • MongoDB • JSON • HDFS • Hive • Classpath • HBase • Offre le connecteur ODBC 09/10/2015
  41. 41. Hadoop et son écosystème Ecosystème Analytic SQL - Impala 41 • Système distribué permettant d’effectuer des requêtes sur de larges données permettant l’analyse interactive des données en SQL • Permet de requêter des sources de données hétérogènes : • HDFS • HBase • Compatible avec Hive 09/10/2015
  42. 42. Hadoop et son écosystème Ecosystème Analytic SQL – Spark SQL 42 • Module de Spark offrant une API de plus haut niveau avec une syntaxe SQL • Equivalent à Hive mais s’exécutant sur Spark • Offre le connecteur JDBC 09/10/2015
  43. 43. Hadoop et son écosystème Ecosystème Analytic SQL – Hawq 43 • Système distribué permettant d’effectuer des requêtes sur de larges données permettant l’analyse interactive des données en SQL • Full compliant SQL • Offre le connecteur ODBC/JDBC 09/10/2015
  44. 44. Hadoop et son écosystème Ecosystème Analytic SQL – Presto 44 • Système distribué permettant d’effectuer des requêtes sur de larges données permettant l’analyse interactive des données en SQL • Permet de requêter des sources de données hétérogènes : – Hive – HDFS – Cassandra • Compatible avec Hive • ANSI-SQL syntax support (presumably ANSI-92) • Offre le connecteur JDBC 09/10/2015
  45. 45. Hadoop et son écosystème Ecosystème Stream Processing 4509/10/2015 Batch Processing Analytic SQL Search Engine Machine Learning Stream Processing Workload Management (Yarn) Storage for any type of data Unified, Elastic, Resilient, Secure Data Integration Filesystem (HDFS)
  46. 46. Hadoop et son écosystème Ecosystème Stream Processing 46 • Storm • Spark Streaming • Spring XD • Samza 09/10/2015
  47. 47. Hadoop et son écosystème Ecosystème Stream Processing - Storm 47 • Système de calcul distribué temps réel • S’appuie sur les notions de : • Nimbus Node (~JobTracker) • Zookeeper • Supervisor Node (~NodeManager) • Notions de Spouts/Bolts • Peut s’appuyer sur YARN 09/10/2015
  48. 48. Hadoop et son écosystème Ecosystème Stream Processing – Spark Streaming 48 • Module de Spark permettant de traiter des flux de données qui arrivent en continu, et donc de traiter ces données au fur et à mesure de leur arrivée • Fonctionnement sur le principe de microbatch 09/10/2015
  49. 49. Hadoop et son écosystème Ecosystème Stream Processing – Spring XD 49 • Basé sur Spring Integration, Spring Batch et Spring Data • Offre un DSL qui permet de construire une route qui est exécuté par des job managé par Spring Batch en exploitant le provisionning par YARN / MESOS / Local 09/10/2015
  50. 50. Hadoop et son écosystème Ecosystème Stream Processing – Samza 5009/10/2015 • Framework permettant de traiter de manière distribué des flux • Utilise Kafka, YARN • Offre la possibilité de faire du windowing
  51. 51. Hadoop et son écosystème Ecosystème Machine Learning 5109/10/2015 Batch Processing Analytic SQL Search Engine Machine Learning Stream Processing Workload Management (Yarn) Storage for any type of data Unified, Elastic, Resilient, Secure Data Integration Filesystem (HDFS)
  52. 52. Hadoop et son écosystème Ecosystème Machine Learning 52 • Mahout • Spark ML 09/10/2015
  53. 53. Hadoop et son écosystème Ecosystème Machine Learning - Mahout 53 • Vise à créer des implémentations d’algorithmes d’apprentissage automatiques et de dataminings. • Même si les principaux algorithmes d’apprentissage se basent sur MapReduce, il n’y a pas d’obligation à utiliser Hadoop 09/10/2015
  54. 54. Hadoop et son écosystème Ecosystème Machine Learning – Spark ML 54 • Librairie Spark de machine learning fournissant les algorithmes de classique (classification, regression, clustering, collaborative filtering, dimensionality reduction, …) 09/10/2015
  55. 55. Hadoop et son écosystème Ecosystème Machine Learning 5509/10/2015 Batch Processing Analytic SQL Search Engine Machine Learning Stream Processing Workload Management (Yarn) Storage for any type of data Unified, Elastic, Resilient, Secure Data Integration Filesystem (HDFS)
  56. 56. Hadoop et son écosystème Ecosystème Search Engine 56 • SolR • Elastic 09/10/2015
  57. 57. Hadoop et son écosystème Ecosystème Search Engine – SolR 5709/10/2015 • SolR offre une indexation distribué, répliqué basé sur Apache Lucene • Permet la recherche full text, le highlighting, le facetting, la recherche géospatiale • Permet l’indexation de documents riches
  58. 58. Hadoop et son écosystème Ecosystème Search Engine – Elastic 5809/10/2015 • Elastic offre une indexation distribué, répliqué basé sur Apache Lucene • Permet la recherche full text, le highlighting, le facetting, la recherche géospatiale • Permet l’indexation de documents riches
  59. 59. Hadoop et son écosystème Ecosystème Autre 5909/10/2015
  60. 60. Hadoop et son écosystème Ecosystème Autre 60 • HBase • Phoenix • Cassandra • Kudu • Hive • Confluent.io • Oozie • Ambari • Zookeeper • Tez • Mesos • Flink 09/10/2015
  61. 61. Hadoop et son écosystème Ecosystème Autre - HBase 61 • Système de gestion de base de données non- relationnelles distribué de type orientée colonnes • Basés sur une architecture maitre/esclave (HBase Master et Region Server) 09/10/2015
  62. 62. Hadoop et son écosystème Ecosystème Autre - Phoenix 6209/10/2015 • Permet de requêter HBase via une interface SQL en offrant un driver jdbc. • Phoenix accepte une requête SQL et la traduit en une série de scan Hbase. Il orchestre ensuite son exécution pour produire un résultat au format ResultSet JDBC. • Les métadonnées de la table sont stockées et versionnées dans une table HBase.
  63. 63. Hadoop et son écosystème Ecosystème Autre - Cassandra 6309/10/2015 • Système de gestion de base de données non- relationnelles distribué de type orientée colonnes • Conçu pour être hautement disponible, scalable linéairement, et sans Single Point Of Failure
  64. 64. Hadoop et son écosystème Ecosystème Autre - Kudu 6409/10/2015 • Système de gestion de base de données non- relationnelles distribué de type orientée colonnes • Conçu pour offrir de bonnes performances aussi bien pour les scanne que pour les accès aléatoire • Se positionne entre HDFS et HBase
  65. 65. Hadoop et son écosystème Ecosystème Autre - Hive 65 • Hive – HiveMetastore – HiveServer2 – HCatalog 09/10/2015
  66. 66. Hadoop et son écosystème Ecosystème Autre – Confluent.io 6609/10/2015 • Intégration de : – Kafka – Avro – SchemaRegistry – Gateway Rest pour lire/écrire dans Kafka
  67. 67. Hadoop et son écosystème Ecosystème Autre - Oozie 67 • Solution de workflow (au sens ordonnanceur d’exploitation) utilisée pour gérer et coordonner les tâches de traitement de données à destination de Hadoop. • Integré avec l’écosystème Hadoop : – MapReduce (Java et Streaming) – Pig – Hive – Sqoop – Autres (Java ou scripts de type Shell) 09/10/2015
  68. 68. Hadoop et son écosystème Ecosystème Autre - Ambari 68 • Destiné à la supervision et à l’administration de clusters Hadoop • Outil web qui propose un tableau de bord (visualisation de l’état d’un cluster – état des services, configuration, supervision, exécution des jobs, métriques) • Gestion de configuration permettant de déployer des services d’Hadoop ou de son écosystème sur des clusters de machines 09/10/2015
  69. 69. Hadoop et son écosystème Ecosystème Autre - Zookeeper 69 • Service de coordination des services (et en l’occurrence des services d’un cluster Hadoop) • Fournit aux composants Hadoop les fonctionnalités de distribution • Indispensable à : – HBase – Storm – Kafka 09/10/2015
  70. 70. Hadoop et son écosystème Ecosystème Autre - Tez 70 • Remplace MapReduce en utilisant YARN afin de fournir des requêtes dites “temps réel” • Utilisable par (work in progress) : – Hive – Pig – Cascading 09/10/2015
  71. 71. Hadoop et son écosystème Ecosystème Autre - Flink 7109/10/2015 • Alternative à Spark • Moteur de streaming de flux distribué • Peut se déployer sur YARN
  72. 72. Hadoop et son écosystème Ecosystème Autre - Mesos 7209/10/2015 • Alternative à YARN • Cluster Manager permettant d’abstraire le CPU, la mémoire, le stockage ainsi que les resources de calcul
  73. 73. Hadoop et son écosystème Ecosystème Autre – MaprFS / MaprDB 7309/10/2015 • MapR propose MapR-FS en alternative à HDFS • MapR propose MapR-DB en alternative à HBase • Offre les mêmes API (HDFS/HBase)
  74. 74. Hadoop et son écosystème Questions ? 7409/10/2015
  75. 75. Hadoop et son écosystème Merci ! 7509/10/2015

×