Vous êtes sur la page 1sur 54

Faculté des Sciences et Techniques de Tanger

Département Génie Informatique

L’Ingénierie ontologique MODULE


et les techniques d’Intelligence ArtificielleBIG
: ARCHITECTURE pour DATA
la modélisation d’un système e-
Learning adaptatif orienté compétences

LSI– 2023/2024
Faculté des Sciences et Techniques de Tanger
Département Génie Informatique

Architecture BIG DATA


L’Ingénierie ontologique et les techniques d’Intelligence Artificielle pour la modélisation d’un système e-
Learning adaptatif orienté compétences

LSI– 2023/2024
CH2 Architectures Big Data usuelles

ARCHITECTURE

ECOSYSTEME HADOOP

3
CH2 Architectures Big Data usuelles

ARCHITECTURE

ECOSYSTEME HADOOP : ENJEUX PRINCIPALES

• Big data => Grand volume de données


• Différents sources de données => Science, industrie, Système…
• Stockage=> Stockage et Analyse de données
• Distribué => fonctionne sur plusieurs machines
• Scalable => je peux augmenter le nombre de machines
• Fault tolerant => tolérance en panne => Si une machine tombe
en panne ça ne doit pas poser de problème
• Commodity hardware => Utilisation des machines ordinaires en
nombre important
• Réplication de données=> protège la perte de données

4
CH2 Architectures Big Data usuelles

ARCHITECTURE
ECOSYSTEME HADOOP

5
CH2 Architectures Big Data usuelles

ARCHITECTURE
ECOSYSTEME HADOOP

En plus des briques de base Yarn Map Reduce/HDFS,


plusieurs outils existent pour permettre:
• L’extraction et le stockage des données de/sur HDFS
• La simplification des opérations de traitement
sur ces données
• La gestion et coordination de la plateforme
• Le monitoring du cluster

6
CH2 Architectures Big Data usuelles

ARCHITECTURE
ECOSYSTEME HADOOP

Parmi ces outils, certains se trouvent au dessus de la couche Yarn/MR, tel


que:
• Pig: Langage de script
• Hive: Langage proche de SQL
(Hive QL)
• R Connectors: permet l’accès à
HDFS et l’exécution de requêtes Map/Reduce à partir du langage R
• Mahout: bibliothèque de machine learning et mathématiques
• Oozie: permet d’ordonnancer les jobs Map Reduce, en définissant
des workflows

7
CH2 Architectures Big Data usuelles

ARCHITECTURE
ECOSYSTEME HADOOP

D’autres outils sont directement au dessus de HDFS, tel que :


 Hbase : Base de données
NoSQL orientée colonnes

 Impala: Permet le requêtage de données directement à


partir de HDFS (ou de Hbase) en utilisant des requêtes
Hive SQL

8
CH2 Architectures Big Data usuelles

ARCHITECTURE
ECOSYSTEME HADOOP

Certains outils permettent de connecter HDFS aux sources


externes, tel que:
 Sqoop: Lecture et écriture des données à partir de
bases de données externes
 Flume: Collecte de logs et le stockage

9
CH2 Architectures Big Data usuelles

ARCHITECTURE
ECOSYSTEME HADOOP

Enfin, d’autres outils permettent la gestion et administration


de Hadoop,
tel que:
• Ambari: outil pour le provisionnement, gestion et
monitoring des clusters.
• Zookeeper: fournit un service centralisé pour maintenir les
informations de configuration, de nommage et de
synchronisation distribuée.

10
CH2 Architectures Big Data usuelles

ARCHITECTURE
HADOOP

 Un logiciel open source pour le stockage distribué d’un


grand ensemble de données
 Projet Apache développé en java.
 Fournit un modèle / framework pour le traitement d’une
masse de données en parallèle

Map
Reduce
Input Map
output
Reduce
Map

11
CH2 Architectures Big Data usuelles

ARCHITECTURE
HADOOP

Le projet Hadoop consiste en deux grandes parties:


 Stockage des données : HDFS (Hadoop Distributed File System)
 Traitement des données : MapReduce

12
CH2 Architectures Big Data usuelles

ARCHITECTURE
HADOOP

Le projet Hadoop consiste en deux grandes parties:


 Stockage des données : HDFS (Hadoop Distributed File System)
 Traitement des données : MapReduce permet d’exécuter des
données d’une façon parallèle pour réaliser une certaine action.

13
CH2 Architectures Big Data usuelles

ARCHITECTURE
Fonctionnement de HADOOP

 Diviser les données


 Les sauvegarder sur une collection de machines,
appelées cluster
 Traiter les données directement là où elles sont
stockées, plutôt que de les copier à partir d’un serveur
distribué

 Il est possible d’ajouter des machines à votre


cluster, au fur et à mesure que les données
augmentent.

14
CH2 Architectures Big Data usuelles

ARCHITECTURE
LIMITATIONS de HADOOP

 Traitement très long à cause des nombreux accès à l'HDFS


 Inefficace pour:
 algorithmes itératifs (Machine Learning, Graphs & Network Analysis)
 Datamining interactif (R, rapport ad hoc Excel, recherche)

15
CH2 Architectures Big Data usuelles

ARCHITECTURE
SOLUTIONS

 Une seule lecture des données


puis traitement en mémoire
 Remplacer les disques par les
SSD.

16
CH2 Architectures Big Data usuelles

ARCHITECTURE
Clients de l’architecture HADOOP:

… et des centaines d’entreprises et d’universités à travers tout le monde

17
CH2 Architectures Big Data usuelles

ARCHITECTURE
Clients de l’architecture HADOOP:

• The Yahoo ! Search Webmap is a Hadoop application that


runs on a more than 10,000 core Linux cluster and produces
data that is now used in every Yahoo ! Web search query.
• Google : the size of one phase of the computation [of the
index] dropped from approximately 3800 line of C++ code to
approximately 700 lines when expressed using MapReduce.
• Facebook has multiple Hadoop clusters deployed now - with
the biggest having about 2500 cpu cores and 1 PetaByte of
disk space. We are loading over 250 gigabytes of compressed
data (over 2 terabytes uncompressed) into the Hadoop file
system every day.
• Hadoop et aussi utilisée par Twitter, Amazon, LinkedIn,
IBM, …
18
Faculté des Sciences et Techniques de Tanger
Département Génie Informatique

HDFS (Hadoop Distributed File System)


L’Ingénierie ontologique et les techniques d’Intelligence Artificielle pour la modélisation d’un système e-
Learning adaptatif orienté compétences

LSI– 2023/2024
CH2 Architectures Big Data usuelles

ARCHITECTURE
HDFS (Hadoop Distributed File System)

 HDFS est un système de fichiers distribué, écrit en Java


 HDFS est basé sur une topologie maitre esclave
 Possibilité de stocker des péta-octets de données
 HDFS par défaut n’est pas sécurisé, un utilisateur peut accéder
au système sans authentification
 Il est très proche du Shell Linux
 Permet des traitements parallèles et distribués
 Tolérances aux erreurs avec la réplication de données

20
CH2 Architectures Big Data usuelles

ARCHITECTURE
HDFS (Hadoop Distributed File System)
 HDFS est un système de fichiers distribué,
extensible et portable
 Ecrit en Java

21
CH2 Architectures Big Data usuelles

ARCHITECTURE
HDFS (Hadoop Distributed File System)

 Hadoop est composé d’un certain nombre de nœuds ,

 Chaque nœud est une machine physique ou virtuelle

 Name Node : c’est l’orchestrateur qui va gérer la distribution de


données sur l’ensemble de Data Node, le Name Node va jouer le
rôle du maitre dans une architecture typique maitre/escave
 Dans un Cluster on a un Name Node (Master) et des Data Nodes
Esclaves

22
CH2 Architectures Big Data usuelles

ARCHITECTURE
HDFS (Hadoop Distributed File System)

 Le Name Node est le responsable de la divison des données sur


l’ensemble de Data Nodes ,

 Name Node est responsable de savoir ou se trouve chaque


partie de fichier source,

 Le Name Node s’occupe également de répartition de données ,


réplication de données , tolérance de panne …

23
CH2 Architectures Big Data usuelles

ARCHITECTURE
HDFS (Hadoop Distributed File System)

 Permet de stocker de très


gros volumes de données
sur un grand nombre de
machines (nœuds) équipées
de disques durs banalisés
 Cluster

 Quand le fichier mydata.txt


est enregistré dans HDFS, il
est décomposé en grands
blocs (64Mo ou 128MO),
chaque bloc ayant un nom
unique: blk_1, blk_2…

24
CH2 Architectures Big Data usuelles

ARCHITECTURE
HDFS (Hadoop Distributed File System)

Chaque bloc est enregistré dans


un nœud différent du cluster
 DataNode : démon sur chaque
nœud du cluster
 NameNode :
 Démon s’exécutant sur une
machine séparée
 Contient des métadonnées
 Permet de retrouver les nœuds qui
exécutent les blocs d’un fichier

25
CH2 Architectures Big Data usuelles

ARCHITECTURE
HDFS (Hadoop Distributed File System)

 Si l’un des nœuds a un problème, les


données seront perdues ?
 Hadoop réplique chaque bloc 3 fois
(par défaut)
 Il choisit 3 nœuds au hasard, et place
une copie du bloc dans chacun d’eux
 Si un nœud tombe en panne, le Name Node le
détecte, et s’occupe de répliquer encore les blocs
qui y étaient hébergés pour avoir toujours
3 copies stockées

26
CH2 Architectures Big Data usuelles

ARCHITECTURE
HDFS (Hadoop Distributed File System)

 L’utilisateur envoi la requête au NN qui est le seul vis-à-vis


de l’utilisateur pour accéder au cluster , puis NN va diriger
la requête vers le DN correspondant afin d’accéder aux
données désirés
27
CH2 Architectures Big Data usuelles

ARCHITECTURE
HDFS (Hadoop Distributed File System)

Si jamais un nœud esclave tombe en panne et on souhaite


récupérer les données représentés par un carré noir , on va le
récupérer dans l’un des nœud ou il a été dupliqué.
28
CH2 Architectures Big Data usuelles

ARCHITECTURE
HDFS (Hadoop Distributed File System)

Si le NameNode a un problème ?
• Données perdues à jamais?
• Données inaccessibles?
 Si c’est un problème d’accès (réseau),
les données sont temporairement
inaccessibles
 Si le disque du NN est défaillant, les
données seront perdues à jamais

29
CH2 Architectures Big Data usuelles

ARCHITECTURE
HDFS (Hadoop Distributed File System)

 Pour éviter cela, le NameNode


sera dupliqué, non seulement
sur son propre disque, mais
également quelque part sur le
système de fichiers du réseau

 Définition d’un autre NN


(standby namenode) pour
reprendre le travail. si le
NameNode actif est défaillant

30
CH2 Architectures Big Data usuelles

ARCHITECTURE
HDFS (Hadoop Distributed File System)
Cas non adéquats

Hadoop ne traite pas:

 Les transactions (accès aléatoire)

 Le cas ou le travail ne peut pas être parallélisé,

 Le cas ou l'accès aux données à faible latence,

 Beaucoup de petits fichiers,

 Les calculs intensifs avec peu de données

31
CH2 Architectures Big Data usuelles

ARCHITECTURE
HDFS (Hadoop Distributed File System)
Ecriture

32
CH2 Architectures Big Data usuelles

ARCHITECTURE
HDFS (Hadoop Distributed File System)
Ecriture

Le client consulte le NameNode

Pour bloc allant de 1 à N

L’écriture : Le client écrit le bloc de données directement


dans DataNode

Le DataNode réplique le bloc

next bloc

33
CH2 Architectures Big Data usuelles

ARCHITECTURE
HDFS (Hadoop Distributed File System)
Lecture:

34
CH2 Architectures Big Data usuelles

ARCHITECTURE
HDFS (Hadoop Distributed File System)
Lecture:

Le client récupère de NameNode la liste des DataNodes


pour chaque bloc

Pour bloc allant de 1 à N


Lecture:
- chercher le premier DataNode qui contient le
bloc dans la liste des DataNode

- lire le bloc

next bloc

35
CH2 Architectures Big Data usuelles

ARCHITECTURE
MAPREDUCE /YARN

HADOOP 1 HADOOP 2

36
CH2 Architectures Big Data usuelles

ARCHITECTURE
Plateformes Hadoop/HDFS

37
CH2 Architectures Big Data usuelles

ARCHITECTURE

Hortonworks Data Platform :


Plateforme Open source

38
Faculté des Sciences et Techniques de Tanger
Département Génie Informatique

L’Ingénierie ontologique et les techniques d’Intelligence Artificielle pour la modélisation d’un système e-
Atelier à faire:
Learning adaptatif orienté compétences

Installation de Cloudera QuikStrats


VM Virtual Box

LSI– 2023/2024
CH2 Architectures Big Data usuelles

Installation de l’environnement Cloudera


avec Oracle VM VirtualBox

1. Télécharger et installer Oracle VM VirtualBox


2. Télécharger Cloudera QuikStrats VM Virtual Box
3. Lancement de Oracle VM VirtualBox
4. Chargement de l’image de Cloudera QuikStrats VM
Virtual Box
5. Lancement de Cloudera QuikStrats VM Virtual Box

40
CH2 Architectures Big Data usuelles

Installation de l’environnement Cloudera


avec Oracle VM VirtualBox
Installer Oracle VM VirtualBox Manager :
https://www.virtualbox.org/wiki/Downloads

41
CH2 Architectures Big Data usuelles

Installation de l’environnement Cloudera


avec Oracle VM VirtualBox
Télécharger et installer l’image Coudera :
https://www.cloudera.com/downloads/cdp-private-cloud-trial.html

L’image Cloudera est de taille 5,53 Go demande certains ressources matériels


cités dans la partie Ressource Requirements, notamment 8Go de RAM
42
CH2 Architectures Big Data usuelles

Installation de l’environnement Cloudera


avec Oracle VM VirtualBox

Chargement de l’image de Cloudera QuikStrats VM Virtual Box

43
CH2 Architectures Big Data usuelles

Installation de l’environnement Cloudera


avec Oracle VM VirtualBox
Télécharger et installer l’image de Cloudera sur Oracle VM
VirtualBox :

44
CH2 Architectures Big Data usuelles

Installation de l’environnement Cloudera


avec Oracle VM VirtualBox
Lancement de l’image (5,4 Go ) de Cloudera QuikStrats

45
CH2 Architectures Big Data usuelles

Commandes Hadoop/HDFS

46
CH2 Architectures Big Data usuelles

Commandes Hadoop/HDFS

1. Créer un répertoire sur HDFS avec un chemin spécifié:

Hadoop fs – mkdir <path>

Exemple:

2. Lister le contenu d’un répertoire


Hadoop fs – ls<path>
Exemple:

47
CH2 Architectures Big Data usuelles

Commandes Hadoop/HDFS

3. Editer un fichier :

Cat > <nom_fichier> : Editer un fichier


Cat <nom_fichier> : Voir le contenu d’un fichier
Exemple:

48
CH2 Architectures Big Data usuelles

Commandes Hadoop/HDFS

3. Upload and download a file in HDFS:

Hadoop fs – put <localsrc> … <HDFS_dest_Path>

Copie un ou plusieurs fichiers à partir de système de fichiers vers HDFS

Exemple:

49
CH2 Architectures Big Data usuelles

Commandes Hadoop/HDFS

3. Download file in HDFS:

Hadoop fs – get <hdfs_src> … <localdst>

Copie un ou plusieurs fichiers à partir de HDFS vers le système de


fichiers

Exemple:

50
CH2 Architectures Big Data usuelles

Commandes Hadoop/HDFS
Le lien http://localhost:50070/explorer.html#/ va permettre de voir les
fichiers stockées en HDFS

51
CH2 Architectures Big Data usuelles

Commandes Hadoop/HDFS
Le lien http://localhost:50070/explorer.html#/ va permettre de voir les
fichiers stockées en HDFS, puis voir des informations sur le block

52
CH2 Architectures Big Data usuelles

Atelier 1: Hadoop/HDFS

53
CH2 Architectures Big Data usuelles

Atelier 1: Hadoop/HDFS

54

Vous aimerez peut-être aussi