Vous êtes sur la page 1sur 4

Conception et développement d’un moteur de recherche et

d’indexation des documents basés sur les techniques de Big


Data.
OBJECTIF GLOBAL DU PROJET ET ARCHITECTURE :

Le choix des outils :

Nous voulons réaliser un moteur de recherche permettant a n importe qui rechercher


n importe quel document sur le web .La recherche et la réponse doit être en temps
réel et il va falloir tenir compte du volume de données a traiter d’où l intégration des
techniques Big Data.
1 – Apache Kafka :
C est un outil permettant la gestion des flux de données en temps réel.
Le temps réel consiste a traiter les données au même moment quelles
nous parviennent en minimisant la latence(tenir compte de l’échelle de
temps).
Kafka dispose de deux éléments le rendant intéressant à manipuler a
savoir :
---- Une file d’attente :
permettant d’ajouter des messages avec une latence faible ;
conserve l’ordre d’arrivés des messages;
stocker de manière fiable les données qui doivent être
redondées et distribuées ,
----Un system de traitement de flux de données :
permettant de traiter les données de manière distribués pour
pouvoir passer a l’échelle avec le volume de données;
permettant d’avoir au system de stockage pour stocker les
résultat des traitement
détecter les erreurs de traitements.
2 –ElasticSearch :
C est un outil permettant de mettre en place un system complexe.
Il permet de stocker les informations dans un premier temps et aller les
récupérer dans un second temps. Donc va nous faciliter la tache dans la
réalisation du moteur de recherche.
ElasticSearch stocke les informations de manière non -structurées et offre la possibilités de le
déployer sur plusieurs machines afin d’optimiser le résultat et fonctionne avec Java.
Il jouera le rôle d’une Base de données orienté recherche.
3-Hadoop HDFS :
Le choix du System de gestion de fichier de HADOOP est sans regret car il propose pas mal
de fonctionnalités.
Premièrement dans notre futur system il portera aide a ElasticSearch qui sera incapable de
traiter les données a niveau donné(ZETA-OCTETS de données).
Hadoop permet de réaliser des calculs distribuez sur des données massives(Big Data).
Il permet ainsi de répondre aux questions telles que :
comment stocker ces données ?
les filtrer?
les analyser?
Ce modelé distribués permet un plus grande tolérance aux pannes : lorsqu' un nœud du
cluster subit une panne, il suffit d’affecter la tache a un autre nœud du cluster.
Le Framework Hadoop est composé :
- d’une architecture permettant l orchestration de MapReduce
- d’ un Système de Gestion de fichier (HDFS) qui est :
distribués
répliqués
optimisés
L’architecture de stockage est une architecture Maitre-Esclaves.
Le Nœud Maitre : contient et stocke tous les noms et blocs des fichiers ainsi que leur
localisation dans le cluster.
Les autres nœuds sont pour le stockage physique des données en tant que tels.
Ils ont pour rôle la gestion des opérations locales (création , suppression et
réplications des blocs ) sur des instructions du maitre.
Le jobTracker : est un processus maitre qui va charger de l ensemble de ressources du système
Le taskTracker : est une unité de calcul du cluster. Il assure en lançant une JVM , l’exécution
Et le suivi des taches MapReduce s’exécutant sur son nœud.
Il dispose ainsi d’un composant YARN permettant de gérer le cluster .
Il est Open Source par rapport aux autres et assez documenté.
Ceci explique notre choix sur Hadoop HDFS.