Fermer

août 10, 2022

Composants de l’écosystème Hadoop – Perficient Blogs


Écosystème Hadoop

Introduction : Hadoop Ecosystem est une plate-forme ou une suite qui fournit divers services pour résoudre les problèmes de Big Data. Il comprend des projets Apache et divers outils et solutions commerciaux. les quatre principaux éléments de Hadoop sont HDFS, MapReduce, YARN et Hadoop Common. Hadoop est un framework qui permet le traitement de grands ensembles de données qui résident sous la forme de clusters. En tant que framework, Hadoop était composé de plusieurs modules supportés par un large écosystème de technologies.

Composants qui forment collectivement un écosystème Hadoop : –

  1. HDFS : système de fichiers distribué Hadoop
  2. YARN : encore un autre négociateur de ressources
  3. MapReduce : traitement de données basé sur la programmation
  4. Spark : traitement des données en mémoire
  5. PIG, HIVE : traitement des services de données basé sur des requêtes
  6. HBase : base de données NoSQL
  7. Mahout, Spark MLLib : bibliothèques d’algorithmes d’apprentissage automatique
  8. Zookeeper : Gestion du cluster
  9. Oozie : Planification des tâches

HadoopName

Qu’est-ce qu’Hadoop ?

Apache Hadoop est un cadre qui permet le traitement distribué de grands ensembles de données sur des grappes d’ordinateurs de base à l’aide d’un modèle de programmation simple.

Il s’agit d’une gestion de données open source avec stockage évolutif et traitement distribué.

Le projet Apache Hadoop se développe logiciel open source pour une informatique fiable, évolutive et distribuée.

HDFS : système de fichiers distribué Hadoop

  • HDFS est un système de fichiers distribué, évolutif et portable écrit en Java pour le framework Hadoop.
  • HDFS crée plusieurs répliques de blocs de données et les distribue sur des nœuds de calcul dans un cluster pour permettre des calculs fiables et extrêmement rapides.
  • HDFS est hautement tolérant aux pannes et est conçu pour être déployé sur du matériel à faible coût.
  • HDFS fournit un accès à haut débit aux données d’application et convient aux applications qui ont de grands ensembles de données
  • HDFS se compose de deux composants principaux :

Noeud de nom :

  • Name Node, un serveur maître, gère l’espace de noms du système de fichiers et régule l’accès aux fichiers par les clients.
  • Maintient et gère les blocs qui sont présents sur le nœud de données.
  • Le nœud de nom est le nœud principal qui contient les métadonnées
  • Méta-données en mémoire
    – L’intégralité des métadonnées est dans la mémoire principale
  • Types de métadonnées
    – Liste des fichiers
    – Liste des blocs pour chaque fichier
    – Liste des nœuds de données pour chaque bloc
    – Attributs de fichier, exemple : heure de création, réplication
  • Un journal des transactions
    – Enregistre les créations de fichiers et les suppressions de fichiers. Etc.

Noeud de données :

  • Les nœuds de données, un par nœud dans le cluster, gèrent le stockage attaché aux nœuds sur lesquels ils s’exécutent.
  • nœuds de données qui stockent les données réelles. Ces nœuds de données sont du matériel de base dans l’environnement distribué.
  • Un serveur de blocs
    • Stocke les données dans le système de fichiers local
    • Stocke les métadonnées d’un bloc
    • Fournit des données et des métadonnées aux clients
    • Bloquer le rapport
    • Envoie périodiquement un rapport de tous les blocs existants au nœud de nom
  • Facilite la canalisation des données
    • Transfère les données à d’autres nœuds de données spécifiés

Données

YARN : encore un autre négociateur de ressources

  • Apache YARN est le système de gestion des ressources de cluster de Hadoop.
  • YARN a été introduit dans Hadoop 2.0 pour améliorer l’utilisation de MapReduce.
  • Il gère le cluster de nœuds et agit comme l’unité de gestion des ressources de Hadoop. YARN alloue de la RAM, de la mémoire et d’autres ressources à différentes applications.

fil

YARN a deux composants :

Gestionnaire de ressources

  • Planificateur de ressources global
  • S’exécute sur le nœud maître
  • Gère d’autres nœuds
    • Suit les battements de cœur de Node Manager
  • Gère les conteneurs
    • Traite les demandes AM de ressources
    • Désaffecte les conteneurs lorsqu’ils expirent ou que l’application se termine
  • Gère le maître d’application
    • Crée un conteneur à partir d’AM et suit les battements de cœur
  • Gère la sécurité

Gestionnaire de nœud

  • Fonctionne sur le nœud esclave
  • Communique avec RM
    • Enregistre et fournit des informations sur les ressources de nœud
    • Envoie des pulsations et l’état du conteneur
  • Gère les processus et l’état des conteneurs
    • Lance AM sur demande de RM
    • Lance le processus de candidature à la demande d’AM
    • Surveille l’utilisation des ressources par les conteneurs.
  • Fournit des services de journalisation aux applications
    • Regroupe les journaux d’une application et les enregistre sur HDFS

Fils Hadoop

· MapReduce : traitement de données basé sur la programmation

    • HDFS gère la couche du système de fichiers distribués
    • MapReduce est un modèle de programmation pour le traitement de données.
    • CarteRéduire

– Framework pour le calcul parallèle

– Les programmeurs obtiennent une API simple

– Ne vous inquiétez pas de la manipulation

    • parallélisation
    • diffusion des données
    • l’équilibrage de charge
    • tolérance aux pannes
    • Permet de traiter d’énormes quantités de données (téraoctets et pétaoctets) sur des milliers de processeurs

Concepts de réduction de carte (Hadoop-1.0)

Tâche

Le Job-Tracker est chargé d’accepter les travaux des clients, de diviser ces travaux en tâches et d’attribuer ces tâches à exécuter par les nœuds de travail.

Suivi des tâches

Task-Tracker est un processus qui gère l’exécution des tâches actuellement affectées à ce nœud. Chaque Task Tracker a un nombre fixe d’emplacements pour exécuter des tâches (deux cartes et deux réduites par défaut).

Composants du cluster Hadoop 2.0

    • Séparez les deux fonctions principales de Job Tracker
      • Gestion des ressources du cluster
      • Gestion du cycle de vie des applications
    • Gestionnaire de ressources
      • Planificateur de ressources global
      • Files d’attente hiérarchiques
    • Gestionnaire de nœud
      • Agent par machine
      • Gère le cycle de vie du conteneur
      • Surveillance des ressources de conteneur
    • Maître d’application
      • Par application
      • Gère la planification des applications et l’exécution des tâches
      • g. Maître d’application MapReduce

Hadoop en tant que plateforme nouvelle génération

Mapréduire

Spark : traitement des données en mémoire

  • Spark est un système de traitement distribué open source.
  • Il s’agit d’une plate-forme informatique en cluster conçue pour être rapide.
  • Dans le calcul de la mémoire (RAM) qui augmente la vitesse de traitement d’une application.

Combine différents types de traitement comme

  • Le traitement par lots
  • Données en continu
  • Apprentissage automatique
  • Données structurelles
  • Données du graphique X

Le traitement par lots: C’est le traitement du big data au repos. Vous pouvez filtrer, agréger et préparer de très grands ensembles de données à l’aide de tâches de longue durée en parallèle.
C’est le traitement des données dans une fréquence de temps particulière.

Données en continu : Streaming ou en temps réel, les données sont des données en mouvement. Les données en temps réel peuvent être traitées pour fournir des informations utiles. l’utilisation des données d’application a été générée immédiatement par le streaming de données.

Apprentissage automatique: La bibliothèque de Spark pour l’apprentissage automatique s’appelle MLlib (Machine Learning library). C’est fortement basé sur les idées d’apprentissage sur les pipelines. Dans cette bibliothèque, pour créer un modèle ML, les concepts de base sont :

Data Frame : cette API ML utilise Data Frame de Spark SQL en tant qu’ensemble de données ML, qui peut contenir une variété de types de données.

Données structurées: C’est quelque chose qui a un schéma qui a un ensemble connu de champs. Lorsque le schéma et les données ne sont pas séparés, alors les données sont dites semi-structurées.

RDD est une structure de données immuable qui distribue les données dans des partitions sur les nœuds du cluster.

Étincelle

PIG, HIVE : traitement des services de données basé sur des requêtes

COCHON:

Pour effectuer de nombreuses opérations d’administration de données, Pig Hadoop a été développé par Yahoo, qui est un langage basé sur une requête qui fonctionne sur une langue latine cochon utilisée avec hadoop.

  • Il s’agit d’une plate-forme de structuration du flux de données, de traitement et d’analyse d’énormes ensembles de données.
  • Pig fait le travail d’exécution des commandes et en arrière-plan, toutes les activités de MapReduce sont prises en charge. Après le traitement, PIG stocke le résultat dans HDFS.
  • Le langage Pig Latin est spécialement conçu pour ce framework qui s’exécute sur Pig Runtime. Exactement comme Java s’exécute sur la JVM.

Caractéristiques du cochon

  • Prend en charge les types de données – long, float, tableau de caractères, schémas et fonctions
  • Est extensible et prend en charge les fonctions définies par l’utilisateur
  • Fournit des opérations courantes telles que JOIN, GROUP, FILTER, SORT

RUCHE:

Bases de données relationnelles qui utilisent SQL comme langage de requête implémenté par la plupart des données La plupart des applications d’entrepôt de données. Hive est un package d’entreposage de données construit sur Hadoop qui réduit l’obstacle au déplacement de ces applications vers Hadoop.

  • Traitement de données structurées et semi-structurées à l’aide de Hive.
  • La série de tâches Map Reduce générées automatiquement est une exécution interne de la requête Hive.
  • Structurer les données utilisées pour l’analyse des données.

HBase : base de données NoSQL

  • Apache HBase est un magasin open source, distribué, versionné, tolérant aux pannes, évolutif et orienté colonnes, inspiré de Bigtable de Google, avec des lecture/écriture en temps réel accès aux données.
  • Il s’agit d’une base de données NoSQL qui s’exécute au-dessus de Hadoop en tant que magasin de données volumineuses distribué et évolutif.
  • Il combine l’évolutivité de Hadoop en s’exécutant sur le système de fichiers distribués Hadoop (HDFS), avec un accès aux données en temps réel en tant que magasin clé/valeur et des capacités d’analyse approfondies de Map Reduce.

Mahout, Spark MLLib : bibliothèques d’algorithmes d’apprentissage automatique

  • Mahout fournit un environnement pour créer des applications d’apprentissage automatique évolutives.
  • Mahout permet l’apprentissage automatique d’un système ou d’une application.
  • MLlib, la bibliothèque d’apprentissage automatique distribuée open source de Spark.
  • MLlib fournit des fonctionnalités efficaces pour un large éventail de paramètres d’apprentissage et comprend plusieurs primitives sous-jacentes d’algèbre statistique, d’optimisation et d’algèbre linéaire.
  • Il permet d’invoquer des algorithmes selon nos besoins à l’aide de ses propres bibliothèques.

Zookeeper : Gestion du cluster

  • Apache Zookeeper est le coordinateur de tout travail Hadoop qui comprend une combinaison de divers services dans un écosystème Hadoop.
  • Apache Zookeeper se coordonne avec divers services dans un environnement distribué.
  • Il s’agit d’un service open source, distribué et centralisé permettant de gérer les informations de configuration, de nommer, de fournir une synchronisation distribuée et de fournir des services de groupe sur l’ensemble du cluster.
  • Zookeeper, Il y avait un énorme problème de gestion de la coordination et de la synchronisation entre les ressources ou les composants de l’écosystème Hadoop.

Oozie : Planification des tâches

  • Apache Oozie est un service d’horloge et d’alarme au sein de l’écosystème Hadoop.
  • Oozie exécute simplement le planificateur de tâches, il combine plusieurs tâches séquentiellement en une seule unité de travail logique.
  • Oozie est un système de planification de flux de travail qui permet aux utilisateurs de lier des tâches écrites sur diverses plates-formes telles que MapReduce, Hive, Pig, etc. planifier une tâche à l’avance et créer un pipeline de tâches individuelles exécutées séquentiellement ou en parallèle pour réaliser une tâche plus importante en utilisant Oozie .
Il existe deux types d’emplois Oozie :

Flux de travail Oozie : Le flux de travail Oozie est un ensemble séquentiel d’actions à exécuter.

Coordinateur Oozie : Ce sont les travaux Oozie qui sont déclenchés par le temps et la disponibilité des données






Source link