Présentés par :
Roland KAGBO & Darius DEGBE
Plan
YARN : qu’est-ce que c’est ?
YARN : quelles sont les fonctionnalités ?
inconvénients de YARN ?
Alternatives de YARN ?
Tarification de YARN ?
Quels sont les principaux composants de YARN ?
Cas d’utilisation du big data
I. YARN : qu’est-ce que c’est ?
Les initiales YARN désignent le terme « Yet Another Resource Negotiator » ,
un nom donné avec humour par les développeurs qui signifie (Encore un autre
négociateur de ressource). Cette technologie est devenue un sous-projet de
Apache Hadoop en 2012, et a été ajoutée comme une fonctionnalité clé de
Hadoop avec la mise à jour 2.0 déployée en 2013.
I. YARN : qu’est-ce que c’est ?
Avant l’ajout de YARN, Hadoop ne pouvait exécuter que des applications
MapReduce. YARN a donc beaucoup augmenté les cas d’usage potentiels du
framework. En découplant la gestion des ressources et la planification du
composant de traitement de données de MapReduce, YARN a également
permis à Hadoop de prendre en charge davantage d’applications et de types
de traitement différents.
Par exemple, les clusters Hadoop sont maintenant en mesure de lancer des applications
d’analyse en temps réel, de streaming data et requêtes interactives sur Apache Spark tout
en laissant tourner MapReduce.
I. YARN : qu’est-ce que c’est ?
La description de Hadoop comme possédant 2
couches (MapReduce et HDFS) est correcte pour la
version 1 de Hadoop.
Depuis la version 2, Hadoop a adopté une troisième
couche : YARN, un outil de gestion des ressources
distribuée.
YARN provient d'un découpage de la première
version de Hadoop MapReduce en deux sous-
couches :
• l'une dédiée à la gestion de la puissance de
calcul et de la répartition de la charge entre les
machines d'un cluster (YARN)
• l'autre dédiée à l'implémentation de l'algorithme
MapReduce en utilisant cette première couche
I. YARN : qu’est-ce que c’est ?
Ce découpage a amené de nombreux autres outils (liés ou indépendants
d'Apache Hadoop) à profiter de l’environnement HDFS (Hadoop Distributed File System)
comme moyen de stocker aisément de grandes quantités de données sans
nécessairement MapReduce. Un écosystème d'outils liés à Hadoop a alors
émergé et est de nos jours très développé.
II. YARN : quelles sont les
fonctionnalités ?
YARN (Yet Another Resource Negotiator) est un gestionnaire de ressources pour les
clusters Hadoop. Ses principales fonctionnalités sont conçues pour permettre une
gestion efficace des ressources et l'exécution de divers types d'applications
distribuées. Voici quelques-unes des fonctionnalités clés de YARN :
1. La gestion des ressources : 2. La Scalabilité :
YARN permet la gestion dynamique et efficace YARN offre une grande scalabilité, permettant à
des ressources du cluster, notamment la mémoire un cluster de Hadoop de prendre en charge un
et le processeur. Il alloue ces ressources aux grand nombre de nœuds et d'applications
applications en fonction de leurs besoins. simultanément.
II. YARN : quelles sont les
fonctionnalités ?
3. La Modularité : 4. La Support pour divers types
YARN est conçu de manière modulaire, d'applications:
permettant aux développeurs d'ajouter des YARN prend en charge une variété
gestionnaires d'applications spécifiques d'applications, y compris MapReduce, Spark,
(ApplicationMaster) pour prendre en charge Hive, HBase, et d'autres frameworks de traitement
différents types d'applications. de données distribuées.
5. Files d'attente et gestion des priorités : 6. Isolation des ressources :
YARN propose une gestion des files d'attente qui YARN assure l'isolation des ressources entre
permet de classer les applications en fonction de différentes applications pour éviter que l'utilisation
priorités, de quotas ou d'autres critères. Cela intensive des ressources par une application
assure une utilisation équitable des ressources n'affecte négativement les autres.
entre différentes équipes ou services.
II. YARN : quelles sont les
fonctionnalités ?
7. La Répartition de charge : 8. La Haute disponibilité :
YARN assure une répartition équilibrée des YARN offre des mécanismes de haute
ressources sur le cluster, en prenant en compte la disponibilité pour assurer la continuité du service
capacité de chaque nœud et en ajustant en cas de défaillance d'un composant.
dynamiquement l'allocation en fonction de la
disponibilité.
9. La Planification des ressources :
YARN propose une planification flexible des
ressources, permettant aux administrateurs de
définir des politiques de planification adaptées
aux besoins spécifiques de leur environnement.
III. inconvénients de YARN ?
1. La Complexité :
La configuration et la gestion de YARN peuvent
être complexes, en particulier dans des 2. Overhead :
environnements distribués à grande échelle, YARN ajoute un certain niveau d'overhead en
nécessitant une expertise approfondie. raison de la gestion dynamique des ressources et
de la planification, ce qui peut affecter
légèrement la performance par rapport à des
environnements plus simples.
3. Réglage des paramètres :
Optimiser les paramètres de YARN pour répondre
aux besoins spécifiques d'une application peut
nécessiter des ajustements minutieux et une 4. Haute disponibilité :
compréhension approfondie du système. Bien que YARN propose des mécanismes de
haute disponibilité, la mise en place de ces
fonctionnalités peut être complexe et nécessiter
des configurations spécifiques.
5. Besoin de ressources :
YARN nécessite des ressources matérielles et peut
ne pas être aussi approprié pour des
environnements avec des exigences minimales
de ressources.
IV. Alternatives de YARN ?
En fonction des inconvénients spécifiques de YARN qu’on pourrait rencontrer dans un contexte
donné, il existe plusieurs alternatives ou compléments qui pourraient être considérés, en
fonction des besoins et des exigences de son environnement. Voici quelques-unes :
Outils Descriptions
Apache Mesos Mesos est un gestionnaire de ressources distribué qui offre une abstraction de ressources
similaire à YARN. Il est conçu pour être plus modulaire et peut gérer une variété de types
de charges de travail, y compris des conteneurs Docker.
Kubernetes Kubernetes est un orchestrateur de conteneurs qui va au-delà de la gestion des
ressources et offre une gestion complète des conteneurs, y compris le déploiement, la
mise à l'échelle et la gestion des applications distribuées.
Docker Swarm Si vous utilisez principalement des conteneurs Docker, Docker Swarm peut être une
alternative simple pour orchestrer et gérer des applications distribuées.
Nomad de HashiCorp Nomad est un gestionnaire de clusters léger qui prend en charge plusieurs types de
charges de travail, y compris les conteneurs, les machines virtuelles et les tâches
périodiques.
IV. Alternatives de YARN ?
Outils Descriptions
Amazon ECS Pour les utilisateurs d'Amazon Web Services (AWS), Amazon ECS (Elastic Container
Service) peut être une alternative gérée pour déployer et gérer des conteneurs.
OpenShift OpenShift, basé sur Kubernetes, est une plateforme de conteneurs développée par Red
Hat qui ajoute des fonctionnalités et des outils supplémentaires pour simplifier le
déploiement et la gestion d'applications conteneurisées.
Il est important de noter que l'intégration détaillée dépend des versions spécifiques de ces
solutions et de la manière dont vous avez configuré votre environnement Hadoop. Avant de
prendre une décision, il est recommandé d'effectuer une évaluation approfondie de chaque
alternative par rapport à vos besoins spécifiques et de considérer la compatibilité avec votre
architecture existante.
V. Tarification de YARN ?
Le prix de Apache YARN Hadoop est disponible sur demande mais ce tarif est susceptible
d’évoluer car différentes options sont proposées par l’éditeur de ce logiciel SaaS afin de
répondre aux besoins de ses utilisateurs : nombre de licences, fonctions supplémentaires,
add-ons …
Voici les différents tarifs de Apache YARN Hadoop (pricing / forfaits) :
– Essai gratuit : 0 € (limité dans le temps / dans les fonctionnalités)
– Standard : Prix sur demande
– Pro : –
– Entreprise : –
– Premium : –
La plupart des éditeurs informatique proposent soit une version d’essai gratuite avec toutes
les fonctionnalités activées, mais qui sera alors limitée dans le temps (en moyenne 15 à 30
jours), soit une version freemium bridée (certaines fonctionnalités sont inactives) pour vous
inciter à l’acheter.
VI. Quels sont les principaux composants de
YARN ?
YARN est constitué de plusieurs composants principaux.
Le gestionnaire de ressources global (Resource
Manager) a pour rôle d’accepter les tâches
soumises par les utilisateurs, de programmer les
tâches et de leur allouer des ressources.
Le gestionnaire de nœud (Node Manager) dont le
rôle est de surveiller et de rapporter au Resource
Manager la distribution de tâches pour chaque
nœud de données dans le cluster.
VI. Quels sont les principaux composants de
YARN ?
Il est responsable des
conteneurs, de la
surveillance de l'utilisation de
la ressource machine qui est
CPU, mémoire, disque,
utilisation du réseau, et de la
rendre compte de celui-ci
Les conteneurs sont les composants matériels tels au Resource Manager
que le CPU, la RAM pour le Node qui est géré via
YARN.
Les containers de ressources sont contrôlés par les
Node Managers et assignent les ressources allouées
aux applications individuelles.
Exemple : Un Application Master, créé pour chaque
application, chargé de négocier les ressources et de
travailler conjointement avec le Node Manager pour
exécuter et surveiller les tâches.
VI. Quels sont les principaux composants de
YARN ?
Allocation de ressource (CPU, RAM) à la
demande du ApplicationMaster,
Surveillance de l’état des nœuds,
Suivi de l’utilisation des ressources,
Gestion file d’entente,
Il est responsable des conteneurs, de la surveillance de l'utilisation de la
Négociation de ressources,
ressource machine qui est CPU, mémoire, disque, utilisation du réseau, et de
la rendre compte de celui-ci au Resource Manager
ApplicationMaster est une bibliothèque spécifique du
conteneur. responsable de négocier les ressources
Unité d'exécution qui encapsule les ressources nécessaires pour exécuter une application particulière, de
nécessaires à l'exécution d'une tâche ou d'une gérer ces ressources et de communiquer avec le
ResourceManager de YARN pour les allouer
application spécifique.
Cas d’utilisation du big data
Quelle est la définition du Big Data ?
Le « Big Data » est un terme générique employé pour désigner les
stratégies et technologies mises en œuvre pour rassembler, organiser,
processer et analyser de vastes ensembles de données. Le Big Data est
l’art de gérer et d’exploiter de gros volumes de données.
Cas d’utilisation du big data
Utilisation du Big Data pour régler la volatilité de la clientèle ?
Enoncé du cas :
Globe Telecom, une entreprise de télécommunications a remarqué que de
nombreux clients quittaient leur service après seulement quelques mois. L'entreprise a
utilisé le big data pour comprendre pourquoi cela se produisait et a identifié plusieurs
facteurs qui contribuaient à la résiliation des contrats.
Elle a donc monté un projet basé sur des technologies Big Data qui permet la
détection de l’épuisement du crédit des cartes téléphoniques prépayées en fonction
des modes de consommation (durée et fréquence des appels, nb de sms/jour). Ce
procédé leur a permis de réduire de 95% les coûts des opérations marketing et
d’améliorer de 600% la pertinence de leurs offres promotionnelles tout en fidélisant
une plus grande partie des clients.
Voici les étapes du processus qui ont abouti à ce prodigieux résultat :
Cas d’utilisation du big data
Utilisation du Big Data pour régler la volatilité de la clientèle ?
1. Collecte de données :
L'entreprise a collecté des données sur les clients qui avaient résilié leur
contrat, y compris des informations sur leur comportement d'utilisation,
leur historique de paiement et leurs interactions avec le service client.
Cas d’utilisation du big data
2. Analyse des données :
L'entreprise a utilisé des outils d'analyse de données pour identifier les
modèles et les tendances dans les données collectées, en cherchant
des corrélations entre les différents facteurs.
Exemple d’outils : R, Python, SAS, Apache spark, IBM Watson Analytics.
Cas d’utilisation du big data
3. Identification des facteurs clés :
L'analyse a révélé que les clients étaient plus susceptibles de résilier leur
contrat s'ils avaient des problèmes de connectivité ou s'ils avaient des
difficultés à comprendre leur facture.
Cas d’utilisation du big data
4. Développement de solutions :
L'entreprise a utilisé ces informations pour développer des solutions pour
résoudre ces problèmes.
Par exemple :
Amélioration de la qualité de la connectivité,
Simplification et allègement de la facture.
Cas d’utilisation du big data
5. Mise en œuvre des solutions :
Les solutions ont été mises en œuvre et l'entreprise a suivi les résultats
pour s'assurer qu'elles avaient un impact positif sur la satisfaction des
clients.
Cas d’utilisation du big data
6. Évaluation des résultats :
L'entreprise a constaté que la résiliation des contrats avait diminué et
que la satisfaction des clients avait augmenté, ce qui a conduit à une
augmentation du chiffre d'affaires et à une amélioration de la
réputation de l'entreprise.
Cas d’utilisation du big data
En utilisant le big data pour comprendre les
raisons de la résiliation des contrats, Globe
Telecom a pu développer des solutions efficaces
qui ont permis de fidéliser les clients et d'améliorer
la rentabilité de l'entreprise.
Je vous remercie pour votre attention