0% ont trouvé ce document utile (0 vote)
85 vues34 pages

Présentation: Redis/Consul Apache Tez

Le document présente trois technologies clés : Apache Tez, Consul et Redis, qui optimisent les systèmes distribués. Apache Tez améliore l'exécution des workflows Big Data, Consul gère la découverte de services et la configuration dynamique, tandis que Redis offre des performances rapides pour la mise en cache et la messagerie. L'intégration de ces technologies améliore la scalabilité et la performance des applications modernes.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
85 vues34 pages

Présentation: Redis/Consul Apache Tez

Le document présente trois technologies clés : Apache Tez, Consul et Redis, qui optimisent les systèmes distribués. Apache Tez améliore l'exécution des workflows Big Data, Consul gère la découverte de services et la configuration dynamique, tandis que Redis offre des performances rapides pour la mise en cache et la messagerie. L'intégration de ces technologies améliore la scalabilité et la performance des applications modernes.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

MS BD2C

Présentation
REDIS/CONSUL
APACHE TEZ
MR CHIBA ZOUHAIR

Réalisé par :
Ayman ZOUINI - Soufiane ZOUHAIR - Saad BOUKHERYS
PLAN Apache Tez

Consul

Redis

Conclusion
Apache Tez
Introduction
Apache Tez est un moteur d'exécution Big Data
conçu pour gérer des workflows de données
complexes organisés sous forme de graphes
orientés acycliques (DAG). En tant que
successeur de MapReduce, il offre une
optimisation accrue de l'exécution des tâches
dans les environnements Hadoop. Son objectif
principal est de réduire les latences tout en
améliorant les performances des traitements de
grandes quantités de données.
Apache Tez vs MapReduce
Modèle de workflow Optimisation
MapReduce : Étapes fixes MapReduce : Statique, pas
(Map → Reduce). d'optimisation dynamique.
Apache Tez : Workflows Apache Tez : Optimisation
flexibles avec DAGs. dynamique en temps réel.

Gestion des données Flexibilité


MapReduce : I/O MapReduce : Tâches
intermédiaire sur disque. linéaires.
Apache Tez : Données en Apache Tez : Workflows
mémoire. multi-étapes.
Composants clés
DAGs : Graphique des workflows avec nœuds et
arêtes.
Task Containers : Exécution isolée des tâches
1
individuelles.
ResourceManager : Gestion centralisée des
ressources via YARN.
Fonctionnalités clés
Flexibilité des DAGs : Workflows complexes
avec dépendances explicites.
Gestion des ressources : Exploite YARN
pour optimiser l'utilisation des ressources.
Tolérance aux pannes : Redémarrage des
tâches échouées.
Applications principales

01 03
02 04
Analyse de données Hive et Pig
Environnements
Remplacement de Machine learning Accélération des requêtes critiques
MapReduce pour un SQL et transformations de
Pipelines pour préparation et Traitement des données
traitement rapide. données.
entraînement de modèles. sensibles dans divers
Exemple : Détection de Exemple : Analyse des achats
Exemple : Systèmes de secteurs.
fraudes financières. dans le e-commerce
recommandation. Exemple : Recherche
épidémiologique
TP : Traitement de
Données Textuelles et CSV
Soumettre la tâche :
tez jar $TEZ_EXAMPLES/[Link]
[Link] -input /data/[Link]
-output /data/[Link]
But : Compter les lignes de /data/[Link] et
sauvegarder le résultat dans /data/[Link].

Vérifier le résultat :
hadoop fs -cat /data/[Link]
TP : Traitement de
Données Textuelles et CSV
Ajouter [Link] à HDFS pour traitement :
hadoop fs -put [Link] /data/[Link]

Créer un Flux de Travail Tez :


Input: csv_input
Processor: filter_employees
Output: filtered_employees
csv_input:
InputFormat: [Link]
InputPath: /data/[Link]
filter_employees:
ProcessorClass: [Link]
filter_age > 30
TP : Traitement de
Données Textuelles et CSV
Soumettre le flux de travail :
tez jar my_tez_app.jar my_dag.yaml

Vérifier l’État :
tez status

Afficher les résultats :


hadoop fs -cat /data/filtered_employees.csv
Consul
Fonctionnalités
principales
DNS et Service Discovery : Découverte
automatique des services via DNS/API,
avec vérifications de santé.
KV Store : Stockage distribué pour
configurations et métadonnées, avec
notifications en temps réel.
Service Mesh : Communication sécurisée
avec chiffrement, routage avancé et
observabilité.
Architecture

Agents : Clients Protocoles :


(tâches locales) gRPC, Raft
et serveurs (consensus), Serf
(maintien de (communication
l’état global, entre agents).
consensus Raft).
Intégration avec d’autres outils

Docker
Kubernetes
Enregistrement automatique
Découverte de services et
des conteneurs, découverte
gestion via service mesh.
via DNS, health checks.
Cas d’utilisation
CI/CD : Synchronisation des configurations dans
les déploiements.
1 Microservices : Gestion des communications
sécurisées.
Multi-cloud : Unification de la découverte de
services.
TP : Consul By Hashicorp
Lance un agent Consul localement :
#consul agent –dev

Enregistre un service dans Consul :


#curl -X PUT -d ' { "ID":"web","Name":"web","Tags":
["http"],"Adresse":"localhost","Port":8080}'
[Link]

Liste tous les services enregistrés :


#curl [Link]

Crée une clé-valeur dans Consul :


#curl -X PUT -d "my-value" [Link]
TP : Consul By Hashicorp
Récupère la valeur d'une clé :
#curl [Link]

Liste des services dans Consul :


#consul catalog services

Affiche les membres du cluster Consul :


#consul members

Affiche des informations sur l'agent Consul :


#consul info
TP : Consul By Hashicorp
Enregistre la valeur "value123" sous la clé "myapp/config" :
#consul kv put myapp/config "value123"

Récupère la valeur associée à la clé "myapp/config" :


#consul kv get myapp/config

Affiche l'état de santé des services dans Consul :


#consul health state
Redis
Introduction
Redis est une base de données en
mémoire rapide, adaptée à des cas
comme la mise en cache, la gestion de
sessions et la messagerie en temps réel.
Elle est flexible et offre des performances
exceptionnelles grâce à son stockage en
mémoire.
Fonctionnalités principales
Types de données
String, List, Set, Hash, Sorted Set.

Persistance
Modes RDB et AOF pour sauvegarder les
données.

Pub/Sub et Transactions
Communication asynchrone et exécution
atomique avec Lua.

Eviction de clés
Politiques comme LRU pour gérer la mémoire.
Architecture et Haute
Disponibilité
Modèle client-serveur : Gestion centralisée
des connexions avec une forte performance.
Réplication et haute disponibilité :
Utilisation de Redis Sentinel pour la
surveillance et la bascule automatique en
cas de panne, et Redis Cluster pour la
répartition des données et la scalabilité.
Sécurité et Optimisation

Sécurité : Optimisation :
Compression des
Authentification
données pour
par mot de passe maximiser l'utilisation
et protection des de la mémoire, gestion
communications de charges élevées, et
surveillance des
via TLS.
performances avec
RedisInsight.
Cas d'utilisation

File d'attente
Mise en cache Gestion des
pour gérer des Classements et
pour améliorer sessions
workflows et recommandation
la latence des utilisateur avec systèmes de s basés sur des
applications. expiration messagerie en ensembles triés.
configurable. temps réel.
Limites et Évolutions
Limites : Consommation de mémoire élevée
et défis dans la gestion des données
massives avec Redis Cluster.
Évolutions : Modules comme RediSearch,
RedisJSON, RedisAI pour étendre les
fonctionnalités. Redis-as-a-Service est
également populaire sur le cloud.
TP : Installation Redis
Installation de [Link] et [Link] via :
[Link]
[Link]

Installation d'Ubuntu WSL.

Installation de Redis via :


[Link]
TP : Fonction counter

Le code de la fonction d’incrementation a chaque fois on se


connecte a redis.
TP : Fonction counter

Nous avons utilisé l'outil « Postman » pour vérifier la performance


de cette fonction et, comme vous pouvez le voir, elle a réussi.
TP : La fonction Set Key Value
Vérification des paramètres :
Si clé ou valeur manquante,
erreur 400.
Interaction avec Redis :
[Link](key, value) pour
enregistrer la paire.
Gestion des réponses :
Succès → confirmation,
erreur → réponse 500 et log.
TP : La fonction Get Key Value
Extraction de la clé : La clé est
obtenue via [Link].
Récupération de la valeur
depuis Redis : [Link](key)
pour récupérer la valeur. Si non
trouvée, erreur 404.
Réponse en cas de succès : La
valeur est renvoyée si la clé
existe.
Gestion des erreurs : Erreur
Redis → log et réponse 500.
Conclusion
Conclusion
Les technologies Apache Tez, Consul et Redis sont
essentielles pour optimiser les systèmes distribués. Tez
améliore l'exécution des workflows Big Data, Consul gère
la découverte de services et la configuration dynamique,
tandis que Redis offre des performances rapides pour la
mise en cache et la messagerie. Leur intégration améliore
la scalabilité et la performance des applications
modernes.
MERCI POUR
VOTRE ATTENTION

Vous aimerez peut-être aussi