hadoop et son écosystème

75
Hadoop et son écosystème par Khanh Tuong MAUDOUX @jetoile 1 07/02/2022

Upload: khanh-maudoux

Post on 22-Jan-2017

5.142 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Hadoop et son écosystème

Hadoop et son écosystème

par Khanh Tuong MAUDOUX@jetoile

101/05/2023

Page 2: Hadoop et son écosystème

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

201/05/2023

Page 3: Hadoop et son écosystème

Hadoop et son écosystème

Qui je suis…• Khanh Tuong Maudoux

• Développeur Java, JavaEE, BigData indépendant

• blog : blog.jetoile.fr• @jetoile• [email protected]

301/05/2023

Page 4: Hadoop et son écosystème

Hadoop et son écosystème

Qu’est ce que c’est…

401/05/2023

Page 5: Hadoop et son écosystème

Hadoop et son écosystème

Qu’est ce que c’est…• BigData => V4

– Volume– Vélocité– Variété– Véracité

• BigData=> Hadoop?

01/05/2023 5

Ne parlera pas des API de programmations comme Cascalog/Hive/Pig/Java/…

Page 6: Hadoop et son écosystème

Hadoop et son écosystème

Qu’est ce que c’est…

01/05/2023 6

HDP 2.3

Page 7: Hadoop et son écosystème

Hadoop et son écosystème

Qu’est ce que c’est…MapReduce

701/05/2023

Page 8: Hadoop et son écosystème

Hadoop et son écosystème

Qu’est ce que c’est…MapReduce

801/05/2023

Page 9: Hadoop et son écosystème

Hadoop et son écosystème

Qu’est ce que c’est…MapReduce

9

• Et… Shuffle

01/05/2023

Page 10: Hadoop et son écosystème

Hadoop et son écosystème

Qu’est ce que c’est…MapReduce

10

• Et… Shuffle

01/05/2023

Page 11: Hadoop et son écosystème

Hadoop et son écosystème

Qu’est ce que c’est…HDFS

1101/05/2023

Page 12: Hadoop et son écosystème

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 blocs01/05/2023

Page 13: Hadoop et son écosystème

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)– …

01/05/2023

Page 14: Hadoop et son écosystème

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

01/05/2023

Operating System (OS)

Virtual File System

File System (ext4, ext3, xfs, …)

Namespace(s)

MetadataJournaling

Tools

DiskStorage

Page 15: Hadoop et son écosystème

Hadoop et son écosystème

Qu’est ce que c’est…HDFS - Architecture

15

• NameNode et DataNode

01/05/2023

NameNode NamespaceMetadata

Block MapJournaling

Disk

DataNode

Storage

Disk

DataNode

Storage

Disk

Storage

Disk

Bloc report

Contient la localisation réelle des données (bloc/datanode)

DataNode

Page 16: Hadoop et son écosystème

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

01/05/2023

Page 17: Hadoop et son écosystème

Hadoop et son écosystème

Qu’est ce que c’est…HDFS - Lecture

1701/05/2023

Page 18: Hadoop et son écosystème

Hadoop et son écosystème

Qu’est ce que c’est…HDFS - Ecriture

1801/05/2023

Page 19: Hadoop et son écosystème

Hadoop et son écosystème

Qu’est ce que c’est…HDFS - HA

1901/05/2023

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

Page 20: Hadoop et son écosystème

Hadoop et son écosystème

Qu’est ce que c’est…YARN

2001/05/2023

Page 21: Hadoop et son écosystème

Hadoop et son écosystème

Qu’est ce que c’est…YARN

21

• Avant :– JobTracker– TaskTracker

01/05/2023

Page 22: Hadoop et son écosystème

Hadoop et son écosystème

Qu’est ce que c’est…YARN

22

• Yet Another Ressource Negociator• Composé de :

– ResourceManager– NodeManager– ApplicationMaster

01/05/2023

Page 23: Hadoop et son écosystème

Hadoop et son écosystème

Qu’est ce que c’est…YARN et HDFS

2301/05/2023

Page 24: Hadoop et son écosystème

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

01/05/2023

Page 25: Hadoop et son écosystème

Hadoop et son écosystème

Ecosystème

2501/05/2023

BatchProcessing

AnalyticSQL

SearchEngine

MachineLearning

StreamProcessing

Workload Management (Yarn)

Storage for any type of dataUnified, Elastic, Resilient, Secure

Data Integration

Filesystem (HDFS)

Page 26: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeData Integration

2601/05/2023

BatchProcessing

AnalyticSQL

SearchEngine

MachineLearning

StreamProcessing

Workload Management (Yarn)

Storage for any type of dataUnified, Elastic, Resilient, Secure

Data Integration

Filesystem (HDFS)

Page 27: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeData Integration

27

• Sqoop• Flume• Logstash• Kafka (messaging)

01/05/2023

Page 28: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeData 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

01/05/2023

Page 29: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeData 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

01/05/2023

Page 30: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeData Integration - Logstash

3001/05/2023

• Logstash est un simple agent orienté message qu’il est possible de configurer pour combiner différentes fonctions

• Composé de – Input– Filter– Output

Page 31: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeData 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

01/05/2023

Page 32: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeBatch Processing

3201/05/2023

BatchProcessing

AnalyticSQL

SearchEngine

MachineLearning

StreamProcessing

Workload Management (Yarn)

Storage for any type of dataUnified, Elastic, Resilient, Secure

Data Integration

Filesystem (HDFS)

Page 33: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeBatch Processing

33

• Hive• Pig• Cascading• Spark

01/05/2023

Page 34: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeBatch 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

01/05/2023

Page 35: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeBatch 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

01/05/2023

Page 36: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeBatch 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

01/05/2023

Page 37: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeBatch 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

01/05/2023

Page 38: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAnalytic SQL

3801/05/2023

BatchProcessing

AnalyticSQL

SearchEngine

MachineLearning

StreamProcessing

Workload Management (Yarn)

Storage for any type of dataUnified, Elastic, Resilient, Secure

Data Integration

Filesystem (HDFS)

Page 39: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAnalytic SQL

39

• Drill• Impala• Spark SQL• Hawq• Presto

01/05/2023

Page 40: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAnalytic 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

01/05/2023

Page 41: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAnalytic 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 Hive01/05/2023

Page 42: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAnalytic 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

01/05/2023

Page 43: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAnalytic 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

01/05/2023

Page 44: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAnalytic 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

01/05/2023

Page 45: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeStream Processing

4501/05/2023

BatchProcessing

AnalyticSQL

SearchEngine

MachineLearning

StreamProcessing

Workload Management (Yarn)

Storage for any type of dataUnified, Elastic, Resilient, Secure

Data Integration

Filesystem (HDFS)

Page 46: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeStream Processing

46

• Storm• Spark Streaming• Spring XD• Samza

01/05/2023

Page 47: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeStream 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 YARN01/05/2023

Page 48: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeStream 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

01/05/2023

Page 49: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeStream 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

01/05/2023

Page 50: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeStream Processing – Samza

5001/05/2023

• Framework permettant de traiter de manière distribué des flux

• Utilise Kafka, YARN

• Offre la possibilité de faire du windowing

Page 51: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeMachine Learning

5101/05/2023

BatchProcessing

AnalyticSQL

SearchEngine

MachineLearning

StreamProcessing

Workload Management (Yarn)

Storage for any type of dataUnified, Elastic, Resilient, Secure

Data Integration

Filesystem (HDFS)

Page 52: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeMachine Learning

52

• Mahout• Spark ML

01/05/2023

Page 53: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeMachine 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

01/05/2023

Page 54: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeMachine Learning – Spark ML

54

• Librairie Spark de machine learning fournissant les algorithmes de classique (classification, regression, clustering, collaborative filtering, dimensionality reduction, …)

01/05/2023

Page 55: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeMachine Learning

5501/05/2023

BatchProcessing

AnalyticSQL

SearchEngine

MachineLearning

StreamProcessing

Workload Management (Yarn)

Storage for any type of dataUnified, Elastic, Resilient, Secure

Data Integration

Filesystem (HDFS)

Page 56: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeSearch Engine

56

• SolR• Elastic

01/05/2023

Page 57: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeSearch Engine – SolR

5701/05/2023

• 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

Page 58: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeSearch Engine – Elastic

5801/05/2023

• 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

Page 59: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAutre

5901/05/2023

Page 60: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAutre

60

• HBase• Phoenix• Cassandra• Kudu• Hive• Confluent.io• Oozie• Ambari• Zookeeper• Tez• Mesos• Flink

01/05/2023

Page 61: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAutre - 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)

01/05/2023

Page 62: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAutre - Phoenix

6201/05/2023

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

Page 63: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAutre - Cassandra

6301/05/2023

• 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

Page 64: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAutre - Kudu

6401/05/2023

• 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

Page 65: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAutre - Hive

65

• Hive – HiveMetastore– HiveServer2– HCatalog

01/05/2023

Page 66: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAutre – Confluent.io

6601/05/2023

• Intégration de :– Kafka – Avro– SchemaRegistry– Gateway Rest pour lire/écrire dans Kafka

Page 67: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAutre - 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)

01/05/2023

Page 68: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAutre - 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

01/05/2023

Page 69: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAutre - 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

01/05/2023

Page 70: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAutre - 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

01/05/2023

Page 71: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAutre - Flink

7101/05/2023

• Alternative à Spark

• Moteur de streaming de flux distribué

• Peut se déployer sur YARN

Page 72: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAutre - Mesos

7201/05/2023

• Alternative à YARN

• Cluster Manager permettant d’abstraire le CPU, la mémoire, le stockage ainsi que les resources de calcul

Page 73: Hadoop et son écosystème

Hadoop et son écosystème

EcosystèmeAutre – MaprFS / MaprDB

7301/05/2023

• MapR propose MapR-FS en alternative à HDFS

• MapR propose MapR-DB en alternative à HBase

• Offre les mêmes API (HDFS/HBase)

Page 74: Hadoop et son écosystème

Hadoop et son écosystème

Questions ?

7401/05/2023

Page 75: Hadoop et son écosystème

Hadoop et son écosystème

Merci !

7501/05/2023