Système de fichiers distribué Hadoop (HDFS des) pour les grands projets de données

Le système de fichiers distribués Hadoop est un résilient approche polyvalente, cluster à la gestion des fichiers dans un environnement grand de données. HDFS est pas la destination finale pour les fichiers. Au contraire, il est un service de données qui offre un ensemble unique de capacités nécessaires lorsque les volumes de données et la vitesse sont élevés. Parce que les données sont écrites une fois et ensuite lu de nombreuses fois par la suite, plutôt que de les en lecture écriture constants d'autres systèmes de fichiers, HDFS est un excellent choix pour soutenir grande analyse des données.

Sommaire

image0.jpg

Big NameNodes de données

HDFS fonctionne en brisant des fichiers volumineux en plus petits blocs. Les blocs sont stockés sur des nœuds de données, et il est de la responsabilité du NameNode de savoir ce que les blocs sur lesquels noeuds de données constituent le dossier complet. Le NameNode agit également comme un “ agent de la circulation, ” la gestion de tous les accès aux fichiers.

La collection complète de tous les fichiers dans le cluster est parfois désigné comme le système de fichiers namespace. Il est le travail de l'NameNode de gérer cet espace de noms.

Même si il existe une forte relation entre la NameNode et les noeuds de données, elles opèrent dans un “ couplage lâche ” la mode. Cela permet aux éléments du cluster à se comporter de manière dynamique, l'ajout de serveurs que la demande augmente. Dans une configuration typique, vous trouvez un NameNode et éventuellement un noeud de données en cours d'exécution sur un serveur physique dans le rack. Autres serveurs fonctionnent nœuds de données seulement.

Les noeuds de données communiquent entre eux de sorte qu'ils puissent coopérer lors d'opérations de système de fichiers normales. Cela est nécessaire car les blocs pour un seul fichier sont susceptibles d'être stockées sur plusieurs nœuds de données. Depuis la NameNode est donc essentiel pour le bon fonctionnement du cluster, il peut et doit être répliquée pour se prémunir contre un point de défaillance unique.

Big noeuds de données

Nœuds de données ne sont pas intelligents, mais ils sont résilients. Dans le cluster HDFS, blocs de données sont répliquées sur plusieurs nœuds de données et l'accès est géré par le NameNode. Le mécanisme de réplication est conçu pour une efficacité optimale lorsque tous les noeuds de la grappe sont recueillies dans un rack. En fait, la NameNode utilise une “ en rack ID ” pour garder une trace des noeuds de données dans le cluster.

Nœuds de données fournissent également “ battement de coeur ” messages de détecter et d'assurer la connectivité entre le NameNode et les noeuds de données. Quand un battement de coeur est plus présente, l'NameNode annule le mappage du noeud de données du cluster et continue à fonctionner comme si rien ne se passait. Lorsque le rythme cardiaque revient, il est ajouté à la grappe de façon transparente par rapport à l'utilisateur ou à l'application.

L'intégrité des données est un élément clé. HDFS prend en charge un certain nombre de fonctions conçues pour assurer l'intégrité des données. Comme on pouvait s'y attendre, lorsque les fichiers sont divisés en blocs et ensuite distribués sur différents serveurs du cluster, toute variation dans le fonctionnement de tout élément pourrait affecter l'intégrité des données. HDFS utilise les journaux de transactions et la validation de la somme de contrôle pour assurer l'intégrité au sein du cluster.

Les journaux de transactions garder une trace de chaque opération et sont efficaces dans l'audit ou la reconstruction du système de fichier doit se produire quelque chose de fâcheux.




Validations checksum sont utilisés pour garantir le contenu des fichiers dans HDFS. Quand un client demande un fichier, il peut vérifier le contenu en examinant son contrôle. Si la somme de contrôle correspond, l'opération de fichier peut continuer. Sinon, une erreur est signalée. Fichiers de contrôle sont cachés pour aider à éviter la falsification.

Nœuds de données utilisent les disques locaux dans le serveur des produits de base pour la persistance. Tous les blocs de données sont stockés localement, principalement pour des raisons de performances. Les blocs de données sont répliquées sur plusieurs nœuds de données, de sorte que la défaillance d'un serveur peut ne pas nécessairement un fichier corrompu. Le degré de réplication, le nombre de nœuds de données, et l'espace de noms HDFS sont établis lorsque le cluster est mis en œuvre.

HDFS pour Big Data

HDFS aborde grands défis de données en brisant les fichiers dans une collection connexe de petits blocs. Ces blocs sont répartis entre les nœuds de données du cluster HDFS et sont gérés par le NameNode. Les tailles de bloc sont configurables et sont généralement de 128 mégaoctets (Mo) ou 256 Mo, ce qui signifie un fichier de 1 Go consomme huit blocs de 128 Mo pour ses besoins de stockage de base.

HDFS est élastique, de sorte que ces blocs sont répliquées dans tout le cluster en cas de défaillance d'un serveur. Comment ne HDFS garder une trace de toutes ces pièces? La réponse courte est le système de fichiers métadonnées.

Métadonnées est défini comme “ données sur les données ”.; Pensez à HDFS métadonnées comme un modèle pour fournir une description détaillée des éléments suivants:

  • Lorsque le fichier a été créé, consultée, modifiées, supprimées, etc.

  • Lorsque les blocs du fichier sont stockées dans la grappe

  • Qui a les droits pour afficher ou modifier le fichier

  • Combien de fichiers sont stockés sur le cluster

  • Combien de données existent nœuds dans le cluster

  • L'emplacement du journal de transactions de la grappe

HDFS métadonnées sont stockées dans le NameNode, et tandis que le groupe est en fonctionnement, toutes les métadonnées est chargé dans la mémoire physique du serveur NameNode. Comme on pouvait s'y attendre, plus la grappe, plus l'empreinte de métadonnées.

Que fait un serveur de bloc faire? Consultez la liste suivante:

  • Stocke les blocs de données dans le système de fichiers local du serveur. HDFS est disponible sur de nombreux systèmes d'exploitation différents et ont le même comportement sur Windows, Mac OS ou Linux.

  • Magasins les métadonnées d'un bloc dans le système de fichiers local basé sur le modèle de métadonnées dans le NameNode.

  • Effectue des validations périodiques de contrôle des fichiers.

  • Envoie des rapports réguliers à la NameNode sur ce que les blocs sont disponibles pour les opérations sur les fichiers.

  • Fournit des métadonnées et des données aux clients sur demande. HDFS soutient un accès direct aux noeuds de données de programmes d'application client.

  • Transmet les données vers d'autres noeuds de données basés sur une “ pipelining ” modèle.

Bloquer le placement sur les noeuds de données est essentielle pour la réplication des données et de soutien pour le pipelining de données. HDFS garde une réplique de chaque bloc localement. HDFS est sérieux au sujet de la réplication des données et la résilience.


» » » » Système de fichiers distribué Hadoop (HDFS des) pour les grands projets de données