Cours Hadoop
Cours Hadoop
Cours Hadoop
Le framework Hadoop
Férihane KBOUBI
ferihane.kboubi@fsegt.utm.tn
1MISIE – FSEGT
Apache Hadoop
• Apache Hadoop est un framework logiciel open source créé en 2006 mais adopté par les plateformes propriétaires
aussi.
• Il permet de diviser de grands ensembles de données en blocs, répartis sur plusieurs serveurs pour le stockage et le
traitement.
• La force de Hadoop provient d’un réseau de serveurs –cluster Hadoop – qui peut traiter les données beaucoup plus
rapidement qu’une seule machine.
• Le cluster Hadoop améliore la capacité de stockage et la redondance des fichiers en répartissant les données sur
plusieurs serveurs.
• Différentes variantes de ce framework sont disponibles aujourd’hui.
• Cloudera
• Hortonworks
• Teradata
1
10/10/2018
Structure Hadoop
• Hadoop dispose de nombreuses extensions comme Pig,
Zookeeper, Hbase.
• Cela permet de travailler sur des quantités volumineuses de
données et orchestrées .
• Tous ces projets sont soutenus par Apache Software Foundation.
• Le Core Hadoop est la base de cet écosystème. Ces éléments
sont présents dans toutes les versions de base
• Hadoop Common,
• Hadoop Distributed File System (HDFS)
• MapReduce Engine
• Yarn.
Hadoop Core
Contient les bibliothèques et les utilitaires nécessaires aux autres
modules Hadoop, ex : Java Archive (JAR), Scripts nécessaires au
démarrage de Hadoop (./start-all.sh), etc.
2
10/10/2018
Systèmes d’exploitation
• Nativement hadoop est compatible Linux.
• Ce n’est que depuis la version hadoop 2.0 que l’on peut l’installer sur
windows.
• Actuellement Cross-plateforme
3
10/10/2018
4
10/10/2018
Gestionnaires de ressources
5
10/10/2018
Gestionnaires de ressources
Mesos
• Projet Apache plus récent que
Yarn, c’est aussi un système de
gestion de ressource de clusters.
• Il permet de gérer et de partager
de manière fine, souple et
dynamique des ressources entre
différents clusters, pour diverses
applications.
Apache Flume
• C’est un système distribué
permettant de récupérer des logs
de plusieurs sources, de les
agréger et de les pousser dans
HDFS.
• Il est fiable, flexible, assez intuitif
et porté par toutes les
distributions Hadoop.
6
10/10/2018
Apache Storm
• Système distribué qui permet la
récupération et le traitement en
temps réel des données
Spark Streaming
• Librairie de spark permettant la
récupération et le traitement de
données en temps réel.
• (requiert l’installation de spark)
7
10/10/2018
Kafka
• Système distribué de messagerie
pour l’agrégation de log, le
traitement en temps réel et le
monitoring.
• Développé par linkedin et écrit en
scala.
Flink
• Il fournit un framework de
traitements distribué en mémoire.
• Très similaire à spark sauf que son
cœur est en java (vs scala) et qu’il
a été conçu nativement pour le
temps réel.
8
10/10/2018
Apache Sqoop
• Ce projet permet de faire le lien
entre un système de gestion de
base de données relationnel
(SGBDR) et HDFS.
9
10/10/2018
10
10/10/2018
Apache Tez
• Moteur SQL distribué initié par
Hortonworks qui vise à remplacer
mapreduce notamment au niveau
de Hive.
11
10/10/2018
Mahout
• Librairie java contenant des
algorithmes de machine learning
déjà codé en map reduce.
• Son développement est ralenti au
profit de la librairie Mlib de Spark
12
10/10/2018
Ordonnanceurs
Oozie
• Il permet d’ordonnancer et de
lancer tous types d’applications
(spark, impala, shell, hive, pig ….)
dans l’écosystème Hadoop.
Ordonnanceurs
Airflow
• Outil open source développé par
airbnb qui permet d’ordonnancer
des jobs shell en intégrant
nativement la notion de flux.
13
10/10/2018
Ordonnanceurs
Jenkins
• Permet d’ordonnancer et de
scheduler des job shell
Interfaces et coordinations
Zookeeper
• Zookeeper permet de mettre en
œuvre la coordination des services
de l’écosystème et leur
synchronisation dans un
environnement distribué.
• Seul les administrateurs peuvent
être amené à interagir avec lui.
14
10/10/2018
Interfaces et coordinations
Hue
• Interface web qui permet d’accéder
directement aux principaux modules
(hive, pig, sqoop, spark, impala,
etc……).
• Nativement on peut accéder aux
modules en ligne de commandes.
• Hue apporte une interface commune
et agréable d’utilisation.
Fournisseurs de
distributions Hadoop
15
10/10/2018
Pour tester
Apache Hadoop
Ecosystem
Cloudera QuickStart VMs
(single-node cluster)
https://www.cloudera.com/products/
open-source/apache-hadoop.html
16
10/10/2018
• Local (pseudo-distributed)
• Les tâches sont lancées dans différentes VM Java
• La configuration est presque comme celle d'un cluster
• Fully-distributed (cluster)
• Toutes les machines du cluster sont configurées avec Hadoop
• Une topologie maître-esclave est mise en place
17
10/10/2018
https://www.cloudera.com/downloads/quickstart_vms/5-12.html
principaux éléments, de
base du framework
Hadoop (MapReduce et
HDFS), ainsi que d'autres
composants orientés
vers les entreprises qui
assurent la sécurité, la
haute disponibilité, et
l'intégration avec le
matériel et les autres
logiciels (HDFS &
MapReduce, Impala,
Apache Spark, HBase,
Accumulo, Apache
Kafka).
18