Introduction à l'architecture HDFS

HDFS signifie Hadoop Distributed File System qui dit lui-même que les fichiers sont divisés en blocs et stockés sur plusieurs machines.

Caractéristiques de HDFS

Les caractéristiques du HDFS qui sont les suivantes:

1. Disponibilité

Dans HDFS, les données sont répliquées régulièrement entre les nœuds de données en créant une réplique de blocs sur l'autre nœud de données. Ainsi, en cas de défaillance matérielle ou d'erreur, l'utilisateur peut obtenir ses données d'un autre nœud de données où les données ont été répliquées.

2. Évolutivité

Dans HDFS, les données sont stockées sur plusieurs nœuds de données sous forme de blocs. HDFS permet aux utilisateurs d'augmenter la taille des blocs chaque fois que nécessaire. Il existe deux types de mécanisme d'évolutivité utilisés dans HDFS: l'évolutivité horizontale et l'évolutivité verticale.

3. Réplication

Ce sont les caractéristiques uniques de HDFS qui permettent à un utilisateur d'accéder facilement à ses données en cas de panne matérielle.

Architecture HDFS

HDFS suit une architecture maître-esclave qui comprend les composants suivants:

1. NameNode:

NameNode est également connu sous le nom de nœud maître car il gère tous les blocs présents sur DataNodes.

NameNode effectue les tâches suivantes:

  • Gérez tous les blocs DataNode
  • Donne accès aux fichiers à l'utilisateur
  • Conserve tous les enregistrements des blocs présents sur DataNode
  • NameNode enregistre toutes les informations des fichiers par exemple si un nom de fichier est renommé ou si le contenu a été modifié ou supprimé NameNode enregistre immédiatement cette modification dans EditLogs
  • Il prend les enregistrements de tous les blocs des nœuds de données pour s'assurer que tous les blocs sont vivants sur DataNode.
  • En cas d'erreur, en cas de panne matérielle, il sélectionne immédiatement un autre DataNode pour créer la réplication et gérer la communication vers tous les DataNodes

Types de fichiers dans NameNode

NameNode contient deux types de fichiers FsImage et EditLogs

je. FsImage: elle est également appelée image de fichier car elle contient toutes les informations sur un système de fichiers avec des espaces de noms. Il contient également tous les répertoires et les fichiers du système de fichiers de manière sérialisée.

ii. EditLogs: les modifications actuelles effectuées dans les fichiers du système de fichiers sont stockées dans EditLogs.

2. Noeud secondaire du nom

Le NameNode secondaire est également appelé en tant que nœud de point de contrôle car il effectue des points de contrôle réguliers. Il agit comme un assistant pour le NameNode principal.

Le NameNode secondaire effectue les tâches suivantes

  • Le NameNode secondaire combine FsImage et EditLogs à partir du NameNode.
  • Il lit toutes les informations du système de fichiers depuis la mémoire de stockage de NameNode et écrit ces informations sur un disque dur du système de fichiers.
  • Il télécharge le FsImage et EditLogs à partir de NameNode à intervalles réguliers et lit les informations de modification apportées aux fichiers EditLogs et note la modification du FsImage. Ce processus crée un nouveau FsImage qui est ensuite renvoyé au NameNode. Chaque fois que le NameNode démarrera, il utilisera ces FsImage.

3. DataNode

DataNode est également connu sous le nom de nœud esclave car il gère tous les nœuds contenant des données sur une machine esclave. DataNode stocke les données au format de fichier ext3 ou ext4.

Le nœud de données effectue les tâches suivantes:

  • Toutes les données sont stockées sur DataNodes
  • Il effectue toutes les opérations des fichiers selon la demande des utilisateurs, par exemple, lire le contenu des fichiers, écrire de nouvelles données dans les fichiers,
  • Il suit également toutes les instructions données par NameNode, par exemple, renommer le fichier, supprimer certains blocs sur DataNode, créer des blocs, etc.

4. Noeud de point de contrôle:

Le nœud de point de contrôle est un nœud qui a créé un point de contrôle de fichiers à intervalles réguliers. Noeud de point de contrôle dans HDFS, téléchargez FsImage et EditLogs à partir de NameNode et fusionnez-les pour créer une nouvelle image et envoyer cette nouvelle image à NameNode. Le dernier point de contrôle est stocké dans un répertoire avec la même structure que le répertoire du namenode. Pour cette raison, l'image de point de contrôle est toujours disponible en cas de besoin.

5. Noeud de sauvegarde:

La fonction d'un nœud de sauvegarde est similaire à celle d'un nœud de point de contrôle pour effectuer une tâche de point de contrôle. Dans Hadoop, le nœud de sauvegarde stocke une copie la plus récente et mise à jour de l'espace de noms du système de fichiers. Il n'est pas nécessaire de télécharger les fichiers FsImage et editsLogs à partir du NameNode actif pour créer un point de contrôle dans le nœud de sauvegarde car il est synchronisé avec l'état de NameNode actif. La fonction du nœud de sauvegarde est plus précise car enregistrez l'espace de noms dans le fichier FsImage local et réinitialisez editLogs.

6. Blocs:

Toutes les données des utilisateurs sont stockées dans des fichiers HDFS qui sont ensuite divisés en petits segments. Ces segments sont stockés dans les DataNodes. Les segments présents sur DataNodes sont appelés sous forme de bloc. La taille de bloc par défaut de ces blocs est de 128 Mo. La taille du bloc peut être modifiée selon les besoins des utilisateurs en configurant HDFS.

Si la taille des données est inférieure à la taille du bloc, la taille du bloc est égale à la taille des données. Par exemple, si les données sont de 135 Mo, cela créera 2 blocs. L'un aura une taille par défaut de 128 Mo et un autre de 7 Mo seulement, pas 128 Mo. De ce fait, beaucoup d'espace et le temps d'horloge du disque sont économisés.

Gestion de la réplication dans l'architecture HDFS:

HDFS est tolérant aux pannes. La tolérance aux pannes est une puissance du système en cas de panne et comment il réagit aux erreurs et aux conditions difficiles. La tolérance aux pannes fonctionne en fonction du processus de création de répliques. Des copies des données de l'utilisateur sont enregistrées sur les machines du cluster DHFS. Par conséquent, en cas de panne ou de panne du système, une copie de ces données est accessible à partir des autres machines du cluster HDFS. Chaque bloc de l'architecture HDFS a 3 répliques qui sont stockées dans différents DataNodes. NameNode conserve les copies disponibles dans DataNodes. NameNode ajoute ou supprime des copies en fonction des critères de blocs sous-répliqués ou sur-répliqués.

Opération d'écriture

Pour écrire des fichiers sur HDFS, le client communiquera les métadonnées au NameNode. Le Nameode répond avec plusieurs blocs, leur emplacement, leurs copies, etc. Le client divise les fichiers en plusieurs blocs en fonction des informations du nom de code. Ensuite, il commence à les envoyer à DataNode. Tout d'abord, le client envoie le bloc A à DataNode 1 avec d'autres informations sur DataNodes. Lorsque DataNode 1 reçoit le bloc A du client, DataNode 1 copie le même bloc dans le même rack vers DataNode 2. Étant donné que les deux DataNodes sont dans le même rack, le transfert du bloc se fait via un commutateur de rack. DataNode 2 copie désormais le même bloc dans DataNode 3 Étant donné que les deux DataNodes se trouvent dans des racks différents, le transfert du bloc se fait via un commutateur hors piste. Une fois que DataNode reçoit les blocs du client, il enverra la confirmation à NameMode. A chaque bloc du fichier, le même processus est répété.

Lire l'opération

Pour l'opération de lecture, le premier client communique les métadonnées au NameNode. Un client quitte NameNode avec le nom et l'emplacement du fichier. Le Nameode répond avec un numéro de bloc, un emplacement, des copies et d'autres informations. Après cela, le client communique avec DataNodes. Sur la base des informations reçues du NameNode, le client commence à lire les données en parallèle à partir des DataNodes. Lorsque tout le bloc du fichier est reçu par le client ou l'application, il combine ces blocs dans une forme de fichier d'origine.

Conclusion - Architecture HDFS

Avec l'aide de NameNode et DataNode, il stocke de manière fiable de très gros fichiers sur plusieurs machines dans un grand cluster. En raison de la tolérance aux pannes, il est utile d'accéder aux données lors d'une défaillance logicielle ou matérielle. C'est ainsi que fonctionne l'architecture HDFS.

Articles recommandés

Cela a été un guide pour l'architecture HDFS. Ici, nous avons discuté des concepts de base avec différents types d'architecture, des fonctionnalités et de la gestion de la réplication de l'architecture HDFS. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -

  1. Qu'est-ce que la modélisation des données?
  2. Qu'est-ce que la visualisation des données
  3. Qu'est-ce qu'un entrepôt de données?
  4. Qu'est-ce que SQL Developer?

Catégorie: