Introduction à l'écosystème Hadoop

Apache Hadoop est un système open source pour stocker et traiter de manière fiable un grand nombre d'informations sur de nombreux ordinateurs de base. Hadoop a été écrit pour la première fois dans un document et publié en octobre 2013 sous le nom de «Google File System». Doug Cutting, qui travaillait à Yahoo à ce moment-là, a introduit le nom Hadoop Ecosystem sur la base du nom de l'éléphant jouet de son fils. Si nous considérons le noyau principal d'Apache Hadoop, il peut tout d'abord considérer la partie stockage, connue sous le nom de Hadoop Distributed File System (HDFS), et deuxièmement la partie de traitement, connue sous le nom de module Map Reduce Programming. Hadoop divise en fait un énorme fichier et les stocke dans plusieurs nœuds du cluster.

Le concept d'écosystème Hadoop

Le framework Apache Hadoop contient principalement les modules ci-dessous:

  1. Hadoop Common: contient toutes les bibliothèques et utilitaires nécessaires à l'utilisation du module Hadoop.
  2. Système de fichiers distribués Hadoop (HDFS): il s'agit de l'un des systèmes de fichiers distribués qui permet de stocker d'énormes données sur plusieurs machines ou sur des machines standard. En outre, fournir un gros utilitaire en cas de bande passante, il fournit normalement une bande passante très élevée dans un type d'agrégat sur un cluster.
  3. Hadoop Yarn: Il a été introduit en 2012. Il est principalement introduit dans la gestion des ressources sur tout le système en commodité même dans un cluster. Basé sur la capacité des ressources, il a distribué ou planifié l'application de l'utilisateur selon les besoins.
  4. Hadoop MapReduce: Il aide principalement à traiter des données à grande échelle grâce à une méthodologie de programmation de réduction de carte.

Apache Hadoop contribue toujours à la réduction des coûts informatiques en termes de traitement et de stockage intelligent de données volumineuses. Comme Apache Hadoop est une source ouverte et que le matériel est très couramment disponible, il nous aide toujours à gérer une réduction appropriée des coûts informatiques.

Logiciel Open Source + matériel de base = réduction des coûts informatiques

Par exemple, si nous envisageons de recevoir quotidiennement 942787 fichiers et répertoires, qui nécessitent 4077936 blocs, 5020723 blocs au total. Donc, si nous avons configuré au moins 1, 46 PB de capacité, alors pour gérer au-dessus de la charge, le système de fichiers distribué utilisera 1, 09 PB, ce qui signifie près de 74, 85% de la capacité totale configurée, alors que nous considérons 178 nœuds actifs et 24 nœuds morts.

Écosystème Hadoop principalement conçu pour le stockage et le traitement des mégadonnées, qui ont normalement certaines caractéristiques clés comme ci-dessous:

  • Le volume

Le volume représente la taille des données réellement stockées et générées. En fonction de la taille des données, il a été déterminé que l'ensemble de données est big data ou non.

  • Variété

La variété représente la nature, la structure et le type de données utilisées.

  • Rapidité

Velocity représente la vitesse des données qui ont été stockées et générées dans un flux de processus de développement particulier.

  • Véracité

La véracité signifie la qualité des données qui ont été capturées et aide également l'analyse des données à atteindre la cible prévue.

HDFS est principalement conçu pour stocker une très grande quantité d'informations (téraoctets ou pétaoctets) sur un grand nombre de machines d'un cluster. Il maintient toujours certaines caractéristiques communes, telles que la fiabilité des données, fonctionne sur du matériel de base, utilise des blocs pour stocker un fichier ou une partie de ce fichier, utilise le modèle `` écrire une fois lire plusieurs ''.

HDFS suit l'architecture ci-dessous avec le concept de nœud de nom et de nœud de données.

La responsabilité du nœud de nom (maître):

- gère l'espace de noms du système de fichiers

- maintient la configuration du cluster

- Responsable de la gestion de la réplication

La responsabilité de Data Node (Slaves):

- Stocker les données dans le système de fichiers local

- Rendre compte périodiquement au nœud de nom au moyen du rythme cardiaque

Opération d'écriture HDFS:

Hadoop suit les étapes ci-dessous pour écrire n'importe quel gros fichier:

  1. Créez un fichier et mettez à jour l'image FS après avoir reçu une demande d'écriture de fichier de n'importe quel client HDFS.
  2. Obtenez des informations sur l'emplacement du bloc ou les détails du nœud de données à partir du nœud de nom.
  3. Écrivez le paquet de manière parallèle sur des nœuds de données individuels.
  4. Reconnaissez l'achèvement ou l'acceptation de l'écriture de paquets et renvoyez les informations au client Hadoop.

Pipeline de réplication de blocs HDFS:

  1. Le client récupère une liste de Datanodes du Namenode qui hébergera une réplique de ce bloc
  2. Le client vide ensuite le bloc de données dans le premier Datanode
  3. Le premier Datanode reçoit un bloc, l'écrit et le transfère au nœud de données suivant dans le pipeline
  4. Lorsque toutes les répliques sont écrites, le client passe au bloc suivant du fichier

Tolérance aux pannes HDFS:

Un nœud de données est tombé en panne soudainement, dans ce cas, HDFS a la capacité de gérer ce scénario automatiquement. Tout d'abord, tous les nœuds de nom reçoivent toujours un battement de cœur de chaque nœud de données, si en quelque sorte ils ont perdu un battement de cœur d'un nœud de données, en considérant le même nœud de données comme étant en panne, prenez immédiatement des mesures pour répliquer automatiquement tous les blocs sur les nœuds restants immédiatement pour satisfaire la réplication facteur.

Si le nœud de nom détecte un nouveau nœud de données disponible dans le cluster, il rééquilibre immédiatement tous les blocs, y compris le nœud de données ajouté.

Maintenant, en quelque sorte, la perte ou l'échec du nœud de nom, dans ce cas, le nœud de sauvegarde contenant une image FS du nœud de nom rejoue immédiatement toute l'opération FS et monte le nœud de nom conformément aux exigences. Mais dans ce cas, une intervention manuelle est requise, et l'ensemble du cadre de l'écosystème Hadoop sera arrêté quelques fois pour configurer à nouveau un nouveau nœud de nom. Donc, dans ce cas, le nœud de nom peut être une défaillance en un seul point, pour éviter ce scénario, la fédération HDFS introduisant plusieurs clusters configurés pour le nœud de nom, et ZooKeeper peut gérer immédiatement un nœud de nom alternatif selon les exigences.

Exemples d'écosystème Hadoop

L'exemple complet de l'écosystème Hadoop peut être correctement expliqué dans la figure ci-dessous:

Les données peuvent provenir de n'importe quel type de source comme l'entrepôt de données, le référentiel de documents gérés, les partages de fichiers, la base de données RDMS normale ou le cloud ou des sources externes. Toutes ces données sont arrivées à HDFS sous forme structurée ou non structurée ou semi-structurée. HDFS stocke toutes ces données de manière distribuée, ce qui signifie le stockage dans un système de produits distribués très intelligemment.

Conclusion

Écosystème Hadoop principalement conçu pour stocker et traiter d'énormes données qui auraient dû présenter l'un des deux facteurs entre le volume, la vitesse et la variété. Il stocke les données dans un système de traitement distribué qui fonctionne sur du matériel de base. Compte tenu du processus complet de l'écosystème Hadoop, HDFS distribue les blocs de données et Map Reduce fournit le cadre de programmation pour lire les données d'un fichier stocké dans HDFS.

Articles recommandés:

Ceci a été un guide pour l'écosystème Hadoop. Ici, nous avons discuté du concept de base sur l'écosystème Hadoop, son architecture, les opérations HDFS, des exemples, la tolérance aux pannes HDFS, etc. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Utilisations de Hadoop dans le monde réel
  2. Hadoop vs Splunk
  3. Carrière à Hadoop
  4. Hadoop vs performances SQL

Catégorie: