Maison >Problème commun >Quelles sont les trois composantes principales de HADOOP ?

Quelles sont les trois composantes principales de HADOOP ?

小老鼠
小老鼠original
2024-01-04 10:52:347153parcourir

Les trois composants principaux de HADOOP sont HDFS, MapReduce et YARN. Introduction détaillée : 1. HDFS : système de fichiers distribué, utilisé pour stocker de grandes quantités de données dans des clusters Hadoop. Il a une tolérance aux pannes élevée, peut stocker des données sur plusieurs nœuds de données et fournit un accès aux données à haut débit ; 2. MapReduce : utilisé pour le traitement parallèle d'ensembles de données à grande échelle ; Il décompose les tâches Big Data en plusieurs petites tâches, les traite en parallèle sur plusieurs nœuds et résume enfin les résultats 3. YARN : Responsable de l'allocation et de la gestion des ressources du cluster ;

Quelles sont les trois composantes principales de HADOOP ?

Les trois composants principaux de Hadoop sont HDFS (stockage de fichiers distribués), MapReduce (informatique distribuée) et YARN (planification des ressources).

1. HDFS : HADOOP Distributed File System

HDFS (Hadoop Distributed File System) est le sous-projet principal du projet Hadoop. Il est principalement responsable du stockage et de la lecture des données du cluster. esclave (Maître/Esclave) ) ​​pour les systèmes de fichiers distribués. HDFS prend en charge une structure d'organisation de fichiers hiérarchique traditionnelle, dans laquelle les utilisateurs ou les applications peuvent créer des répertoires, puis stocker des fichiers dans ces répertoires. La structure hiérarchique de l'espace de noms du système de fichiers est similaire à celle de la plupart des systèmes de fichiers existants, et les fichiers peuvent être créés, lus, mis à jour et supprimés via des chemins de fichiers. Cependant, en raison de la nature du stockage distribué, il est évidemment différent des systèmes de fichiers traditionnels.

Avantages HDFS :

  • Haute tolérance aux pannes. Les données téléchargées par HDFS enregistrent automatiquement plusieurs copies et sa tolérance aux pannes peut être augmentée en ajoutant des données dans les copies. Si une réplique est perdue, HDFS répliquera la réplique sur l'autre machine et nous n'aurons pas à nous soucier de sa mise en œuvre.
  • Convient au traitement du Big Data. HDFS est capable de gérer des gigaoctets, des téraoctets et même des pétaoctets de données, allant jusqu'à des millions, ce qui est très volumineux. (1 Po = 1 024 To, 1 To = 1 014 Go)
  • Accès aux données en streaming. HDFS utilise un modèle d'accès aux données en streaming pour stocker des fichiers très volumineux, en écrivant une fois et en lisant plusieurs fois. Autrement dit, une fois qu'un fichier est écrit, il ne peut pas être modifié, mais peut seulement être ajouté. Cela maintient la cohérence des données.

2. MapReduce : Traitement de données à grande échelle

MapReduce est le cadre informatique de base de Hadoop. Il s'agit d'un modèle de programmation adapté aux opérations parallèles d'ensembles de données à grande échelle (supérieurs à 1 To), y compris Map (cartographie). ) et Réduire (réduction).

Lorsqu'une tâche MapReduce est démarrée, le côté Carte lira les données sur HDFS, mappera les données dans le type de paire clé-valeur requis et les transférera vers le côté Réduire. Le côté Réduire reçoit les données de type paire clé-valeur transmises par le côté Carte, les regroupe selon différentes clés, traite chaque groupe de données avec la même clé, obtient de nouvelles paires clé-valeur et les envoie à HDFS. C'est le noyau. idée de MapReduce.

Un processus MapReduce complet comprend la saisie et le partage des données, le traitement des données de l'étape Map, le traitement des données de l'étape Réduire, la sortie des données et d'autres étapes :

  • Lire les données d'entrée. Les données du processus MapReduce sont lues à partir du système de fichiers distribué HDFS. Lorsqu'un fichier est téléchargé sur HDFS, il est généralement divisé en plusieurs blocs de données selon 128 Mo, donc lors de l'exécution du programme MapReduce, chaque bloc de données générera une carte, mais vous pouvez également ajuster le nombre de cartes en réinitialisant la taille du fragment de fichier. . Lors de l'exécution de MapReduce, le fichier sera re-divisé (Split) en fonction de la taille de fragment définie, et un bloc de données de la taille du fragment correspondra à une carte.
  • Étape de la carte. Le programme dispose d'une ou plusieurs cartes, déterminées par le nombre par défaut de stockage ou de fragments. Pour l'étape Map, les données sont lues sous forme de paires clé-valeur. La valeur de la clé est généralement le décalage entre le premier caractère de chaque ligne et la position initiale du fichier, c'est-à-dire le nombre de caractères intermédiaires. , et la valeur est l'enregistrement de données de cette ligne. Traitez les paires clé-valeur en fonction des exigences, mappez-les dans de nouvelles paires clé-valeur et transmettez les nouvelles paires clé-valeur du côté Réduire.
  • Phase Shuffle/Tri : Cette phase fait référence au processus consistant à démarrer à partir de la sortie Map et à transférer la sortie Map vers Réduire en tant qu'entrée. Ce processus intégrera d'abord les données de sortie avec la même clé dans la même carte pour réduire la quantité de données transmises, puis triera les données en fonction de la clé après intégration.
  • Étape de réduction : il peut également y avoir plusieurs tâches de réduction, qui sont déterminées en fonction de la partition de données définie dans l'étape Map. Une donnée de partition est traitée par une seule réduction. Pour chaque tâche Réduire, Réduire recevra les données de différentes tâches Map, et les données de chaque Map sont en ordre. Chaque traitement dans une tâche de réduction consiste à réduire les données pour toutes les données avec la même clé et à les afficher sur HDFS en tant que nouvelle paire clé-valeur.

3. Yarn : Resource Manager

L'architecture MapReduce de Hadoop s'appelle YARN (Yet Another Resource Négociateur, un autre coordinateur de ressources), qui est au cœur d'une gestion plus efficace des ressources.

YARN comprend principalement trois modules principaux : Resource Manager (RM), Node Manager (NM) et Application Master (AM) :

  • Resource Manager est responsable de la surveillance, de l'allocation et de la gestion de toutes les ressources ; est responsable de chaque planification spécifique et de la coordination des applications ;
  • Node Manager est responsable de la maintenance de chaque nœud ;

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn