HBase
 sql >> Base de données >  >> NoSQL >> HBase

Écosystème Hadoop - Introduction aux composants Hadoop

Dans notre blog précédent, nous avons discuté de l'introduction de Hadoop en détail. Maintenant, dans ce blog, nous allons répondre à ce qu'est l'écosystème Hadoop et quels sont les rôles des composants Hadoop.

Dans ce didacticiel sur les composants Hadoop, nous aborderons différents composants de l'écosystème de la famille Hadoop tels que HDFS, MapReduce, YARN, Hive, HBase, Pig, Zookeeper, etc.

Tous ces composants de l'écosystème Hadoop sont discutés avec leurs fonctionnalités et leurs responsabilités.

Tutoriel sur l'écosystème Hadoop

Apache Hadoop est l'outil le plus puissant du Big Data. L'écosystème Hadoop s'articule autour de trois composants principaux :HDFS, MapReduce et YARN. Outre ces composants Hadoop, il existe également d'autres composants de l'écosystème Hadoop, qui jouent un rôle important dans l'amélioration des fonctionnalités Hadoop.

Voyons maintenant en détail les différents composants Hadoop.

un. HDFS

Système de fichiers distribué Hadoop (HDFS) est le système de stockage principal de Hadoop. HDFS stocke des fichiers très volumineux exécutés sur un cluster de matériel standard.

Il suit le principe de stocker moins de gros fichiers plutôt que le grand nombre de petits fichiers. HDFS stocke les données de manière fiable même en cas de panne matérielle. Par conséquent, il fournit un accès à haut débit à l'application en accédant en parallèle.

Composants de HDFS :

  • NameNode – Il fonctionne en tant que maître dans le cluster Hadoop. Namenode stocke les métadonnées, c'est-à-dire le nombre de blocs, de répliques et d'autres détails. Les métadonnées sont présentes en mémoire dans le maître. NameNode attribue des tâches au nœud esclave. Il doit être déployé sur du matériel fiable, car il s'agit de la pièce maîtresse de HDFS.
  • Noeud de données – Il fonctionne comme esclave dans le cluster Hadoop. Dans Hadoop HDFS, DataNode est responsable du stockage des données réelles dans HDFS. DataNode effectue également des opérations de lecture et d'écriture selon la demande des clients. Les DataNodes peuvent également être déployés sur du matériel standard.

b. MapReduce

Hadoop MapReduce est la couche de traitement des données de Hadoop. Il traite de grandes données structurées et non structurées stockées dans HDFS. MapReduce traite également une énorme quantité de données en parallèle.

Pour ce faire, il divise le travail (travail soumis) en un ensemble de tâches indépendantes (sous-travail). Dans Hadoop, MapReduce fonctionne en divisant le traitement en phases :Mapper et Réduire.

  • Carte – C'est la première phase du traitement, où nous spécifions tout le code logique complexe.
  • Réduire – C'est la deuxième phase du traitement. Ici, nous spécifions un traitement léger comme l'agrégation/la sommation.

c. FIL

Hadoop YARN assure la gestion des ressources. C'est le système d'exploitation de Hadoop. Ainsi, il est responsable de la gestion et de la surveillance des charges de travail, de la mise en œuvre des contrôles de sécurité. Il s'agit d'une plate-forme centrale pour fournir des outils de gouvernance des données sur les clusters Hadoop.

YARN permet plusieurs moteurs de traitement de données tels que le streaming en temps réel, le traitement par lots, etc.

Composants de YARN :

  • Gestionnaire des ressources –  Il s'agit d'un composant au niveau du cluster et s'exécute sur la machine maître. Par conséquent, il gère les ressources et programme les applications exécutées au-dessus de YARN. Il comporte deux composants :le planificateur et le gestionnaire d'applications.
  • Gestionnaire de nœud –  Il s'agit d'un composant au niveau du nœud. Il tourne sur chaque machine esclave. Il communique en permanence avec Resource Manager pour rester à jour

d. Ruche

Apache Hive est un système d'entrepôt de données open source utilisé pour interroger et analyser de grands ensembles de données stockés dans des fichiers Hadoop. Il traite les données structurées et semi-structurées dans Hadoop.

Hive prend également en charge l'analyse de grands ensembles de données stockés dans HDFS et également dans le système de fichiers Amazon S3 est pris en charge par Hive. Hive utilise le langage appelé HiveQL (HQL), qui est similaire à SQL. HiveQL traduit automatiquement les requêtes de type SQL en tâches MapReduce.

e. Cochon

Il s'agit d'une plate-forme de langage de haut niveau développée pour exécuter des requêtes sur d'énormes ensembles de données stockés dans Hadoop HDFS. PigLatin est un langage utilisé dans pig qui est très similaire à SQL.

Pig charge les données, applique les filtres requis et vide les données dans le format requis. Pig convertit également toutes les opérations en tâches Map et Reduce qui sont traitées efficacement sur Hadoop.

Caractéristiques du cochon :

  • Extensible – Les utilisateurs de Pig peuvent créer des fonctions personnalisées pour répondre à leurs besoins de traitement particuliers.
  • Auto-optimisation :  Puisque Pig permet au système de s'optimiser automatiquement. Ainsi, l'utilisateur peut se concentrer sur la sémantique.
  • Gère toutes sortes de données –  Pig analyse à la fois structuré et non structuré.

f. HBase

Apache HBase est une base de données NoSQL qui s'exécute au-dessus de Hadoop. Il s'agit d'une base de données qui stocke des données structurées dans des tables pouvant contenir des milliards de lignes et des millions de colonnes. HBase fournit également un accès en temps réel pour lire ou écrire des données dans HDFS.

Composants de HBase :

  • Maître HBase – Cela ne fait pas partie du stockage de données proprement dit. Mais il s'occupe de l'administration (interface de création, mise à jour et suppression de tables.).
  • Serveur régional – C'est le nœud de travail. Il gère les demandes de lecture, d'écriture, de mise à jour et de suppression des clients. Le processus du serveur de région s'exécute également sur chaque nœud du cluster Hadoop.

g. HCatalogue

Il s'agit de la couche de gestion des tables et du stockage au-dessus d'Apache Hadoop. HCatalog est un composant principal de Hive. Par conséquent, il permet à l'utilisateur de stocker ses données dans n'importe quel format et structure. Il prend également en charge différents composants Hadoop pour lire et écrire facilement des données à partir du cluster.

Avantages de HCatalog :

  • Offrir une visibilité aux outils de nettoyage et d'archivage des données
  • Grâce à l'abstraction de table, HCatalog libère l'utilisateur de la surcharge de stockage des données.
  • Active les notifications de disponibilité des données.

je. Avro

Il s'agit d'un projet open source qui fournit des services de sérialisation et d'échange de données pour Hadoop. Grâce à la sérialisation, les programmes de service peuvent sérialiser les données dans des fichiers ou des messages.

Il stocke également la définition des données et les données ensemble dans un message ou un fichier. Par conséquent, cela permet aux programmes de comprendre de manière dynamique les informations stockées dans le fichier ou le message Avro.

Avro fournit :

  • Fichier conteneur, pour stocker des données persistantes.
  • Appel de procédure à distance.
  • Des structures de données riches.
  • Format de données compact, rapide et binaire.

j. Épargne

Apache Thrift est une infrastructure logicielle qui permet le développement de services multilingues évolutifs. Thrift est également utilisé pour la communication RPC. Apache Hadoop fait beaucoup d'appels RPC, il est donc possible d'utiliser Thrift pour les performances.

k. Percer

La perceuse est utilisée pour le traitement de données à grande échelle. La conception de l'exercice consiste à s'adapter à plusieurs milliers de nœuds et à interroger des pétaoctets de données. Il s'agit également d'un moteur de requête distribué à faible latence pour les ensembles de données à grande échelle.

L'exercice est également le premier moteur de requête SQL distribué qui a un modèle sans schéma.

Caractéristiques du foret :

  • Explorer les métadonnées décentralisées :  Drill n'a pas d'exigence de métadonnées centralisées. Les utilisateurs de Drill n'ont pas besoin de créer ni de gérer des tables dans les métadonnées pour interroger les données.
  • Flexibilité – Drill fournit un modèle de données en colonnes hiérarchique. Il peut représenter des données complexes et hautement dynamiques et permettre un traitement efficace.
  • Découverte de schéma dynamique – Pour démarrer le processus d'exécution de la requête, Drill ne nécessite aucune spécification de type pour les données. Au lieu de cela, l'exploration commence à traiter les données dans des unités appelées lots d'enregistrements. Il découvre également le schéma à la volée pendant le traitement.

l. Cornac

Il s'agit d'un framework open source utilisé pour créer un algorithme d'apprentissage automatique évolutif. Une fois que nous avons stocké les données dans HDFS, mahout fournit les outils de science des données pour trouver automatiquement des modèles significatifs dans ces ensembles de Big Data.

m. Sqoop

Il est principalement utilisé pour importer et exporter des données. Ainsi, il importe des données de sources externes dans des composants Hadoop associés tels que HDFS, HBase ou Hive. Il exporte également les données de Hadoop vers d'autres sources externes. Sqoop fonctionne avec des bases de données relationnelles telles que Teradata, Netezza, Oracle, MySQL.

n. Canal

Flume collecte, agrège et déplace efficacement une grande quantité de données depuis leur origine et les renvoie à HDFS. Il a une architecture très simple et flexible basée sur des flux de données en continu. Flume est tolérant aux pannes, c'est aussi un mécanisme fiable.

Flume permet également de transférer des données de la source vers l'environnement Hadoop. Il utilise un modèle de données extensible simple qui permet l'application analytique en ligne. Par conséquent, en utilisant Flume, nous pouvons obtenir les données de plusieurs serveurs immédiatement dans Hadoop.

o. Ambari

Il s'agit d'une plateforme de gestion open source. Il s'agit d'une plate-forme de provisionnement, de gestion, de surveillance et de sécurisation du cluster Apache Hadoop. La gestion de Hadoop devient plus simple car Ambari fournit une plate-forme cohérente et sécurisée pour le contrôle opérationnel.

Avantages d'Ambari :

  • Installation, configuration et gestion simplifiées :  Il peut facilement et efficacement créer et gérer des clusters à grande échelle.
  • Configuration de la sécurité centralisée :  Ambari configure la sécurité du cluster sur l'ensemble de la plateforme. Cela réduit également la complexité de l'administration.
  • Hautement extensible et personnalisable :  Ambari est hautement extensible pour la gestion de services personnalisés.
  • Visibilité totale sur la santé du cluster : Ambari garantit que le cluster est sain et disponible grâce à une approche holistique de la surveillance.

p. Gardien de zoo

Zookeeper dans Hadoop est un service centralisé. Il gère les informations de configuration, les noms et fournit une synchronisation distribuée. Il offre également des services de groupe. Zookeeper gère et coordonne également un grand groupe de machines.

Avantages de Zookeeper :

  • Rapide – zookeeper est rapide avec des charges de travail où les lectures de données sont plus courantes que les écritures. Le rapport lecture/écriture idéal est de 10:1.
  • Commandé – zookeeper conserve un enregistrement de toutes les transactions, qui peut également être utilisé à des fins de haut niveau

q. Oozie

Il s'agit d'un système de planification de flux de travail pour gérer les tâches Apache Hadoop. Il combine plusieurs tâches séquentiellement en une seule unité de travail logique.

Par conséquent, le framework Oozie est entièrement intégré à la pile Apache Hadoop, YARN en tant que centre d'architecture. Il prend également en charge les tâches Hadoop pour Apache MapReduce, Pig, Hive et Sqoop.

Oozie est évolutif et également très flexible. On peut facilement démarrer, arrêter, suspendre et réexécuter des tâches. Par conséquent, Oozie facilite la réexécution des flux de travail ayant échoué. Il est également possible d'ignorer un nœud défaillant spécifique.

Il existe deux types de tâches Oozie de base :

  • Flux de travail Oozie –  Il s'agit de stocker et d'exécuter des flux de travail composés de tâches Hadoop, par exemple MapReduce, Pig, Hive.
  • Coordinateur Oozie –  Il exécute des tâches de workflow en fonction de planifications prédéfinies et de la disponibilité des données.

Conclusion

Par conséquent, Hadoop Ecosystem fournit différents composants qui le rendent si populaire. Grâce à ces composants Hadoop, plusieurs rôles de travail Hadoop sont désormais disponibles.

J'espère que ce didacticiel sur l'écosystème Hadoop vous aidera beaucoup à comprendre la famille Hadoop et ses rôles. Si vous trouvez une question, veuillez la partager avec nous dans la zone de commentaire.