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

Hadoop - Un didacticiel Apache Hadoop pour les débutants

L'objectif principal de ce Hadoop Le didacticiel consiste à décrire chaque aspect d'Apache Hadoop Framework. Fondamentalement, ce didacticiel est conçu de manière à ce qu'il soit facile d'apprendre Hadoop à partir des bases.

Dans cet article, nous ferons de notre mieux pour répondre à des questions telles qu'est-ce que Big Data Hadoop, quel est le besoin d'Hadoop, quelle est l'histoire d'Hadoop, et enfin les avantages et les inconvénients du framework Apache Hadoop.

Nous espérons qu'après avoir lu cet article, vous comprendrez clairement ce qu'est un framework Hadoop.

Qu'est-ce qu'Hadoop ?

Il s'agit d'un cadre logiciel open source pour le stockage et le traitement distribués d'une énorme quantité d'ensembles de données. Open source signifie qu'il est disponible gratuitement et même nous pouvons modifier son code source selon vos besoins.

Il permet également d'exécuter des applications sur un système avec des milliers de nœuds. Son système de fichiers distribué offre des taux de transfert de données rapides entre les nœuds. Cela permet également au système de continuer à fonctionner en cas de défaillance du nœud.

Hadoop fournit-

  • La couche de stockage : HDFS
  • Moteur de traitement par lots : MapReduce
  • Couche de gestion des ressources :YARN

Hadoop – Historique

En 2003, Google lance le projet Nutch gérer des milliards de recherches. Également pour indexer des millions de pages Web. En octobre 2003, Google a publié GFS (Google File System) papier, à partir de ce papier Hadoop a été créé.

En 2004, Google lance le papier avec MapReduce . Et en 2005, Nutch a utilisé GFS et MapReduce pour effectuer des opérations.

En 2006, les informaticiens Doug Cutting et Mike Cafarella  créé Hadoop. En février 2006, Doug Cutting a rejoint Yahoo . Cela a fourni des ressources et l'équipe dédiée pour transformer Hadoop en un système fonctionnant à l'échelle du Web. En 2007, Yahoo a commencé à utiliser Hadoop sur un cluster de 100 nœuds.

En janvier 2008, Hadoop a réalisé son propre projet de haut niveau chez Apache, confirmant son succès. De nombreuses autres entreprises ont utilisé Hadoop en plus de Yahoo!, comme le New York Times et Facebook.

En avril 2008, Hadoop a battu un record du monde pour devenir le système le plus rapide pour trier un téraoctet de données. S'exécutant sur un cluster de 910 nœuds, In a trié un téraoctet en 209 secondes.

En décembre 2011, Apache Hadoop a publié la version 1.0. En août 2013, la version 2.0.6 était disponible. Plus tard en juin 2017, Apache Hadoop 3.0.0-alpha4 est disponible. ASF (Apache Software Foundation) gère et maintient le cadre et l'écosystème de technologies Hadoop.

Pourquoi Hadoop ?

Comme nous avons appris l'introduction, nous allons maintenant apprendre quel est le besoin de Hadoop ?

Il est apparu comme une solution au "Big Data ” problèmes-

a. Stockage pour Big Data – HDFS a résolu ce problème. Il stocke le Big Data de manière distribuée. HDFS stocke également chaque fichier sous forme de blocs. Le bloc est la plus petite unité de données dans un système de fichiers.

Supposons que vous ayez 512 Mo de données. Et vous avez configuré HDFS de manière à créer 128 Mo de blocs de données. Ainsi, HDFS divise les données en 4 blocs (512/128=4) et le stocke sur différents DataNodes. Il réplique également les blocs de données sur différents nœuds de données.

Par conséquent, le stockage de données volumineuses n'est pas un défi.

b. Évolutivité – Il résout également le problème de mise à l'échelle. Il se concentre principalement sur la mise à l'échelle horizontale plutôt que sur la mise à l'échelle verticale. Vous pouvez ajouter des nœuds de données supplémentaires au cluster HDFS selon vos besoins. Au lieu d'augmenter les ressources de vos nœuds de données.

D'où une amélioration spectaculaire des performances.

c. Stocker la variété des données  – HDFS a résolu ce problème. HDFS peut stocker tout type de données (structurées, semi-structurées ou non structurées). Il suit également écrire une fois et lire plusieurs modèles .

Pour cette raison, vous pouvez écrire n'importe quel type de données une fois et vous pouvez les lire plusieurs fois pour trouver des informations.

d. Vitesse de traitement des données  – C'est le problème majeur du big data. Afin de résoudre ce problème, déplacez le calcul vers les données au lieu de données vers le calcul. Ce principe est la  localité des données .

Composants principaux Hadoop

Nous allons maintenant apprendre en détail le composant principal d'Apache Hadoop. Il a 3 composants de base-

  • HDFS
  • MapReduce
  • YARN (Encore un autre négociateur de ressources)

Discutons de ces composants de base un par un.

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 de base. Il suit le principe de stocker moins de gros fichiers plutôt que le grand nombre de petits fichiers.

Stocke les données de manière fiable même en cas de panne matérielle. 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 Master dans le cluster. Namenode stocke les métadonnées . Un certain 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 maintient et gère également les nœuds esclaves et leur attribue des tâches. 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. Dans HDFS, DataNode est responsable du stockage des données réelles dans HDFS. DataNode effectue une opération 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

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). 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

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

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. Il gère les ressources et programme les applications s'exécutant 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

Avantages de Hadoop

Voyons maintenant divers avantages de Hadoop pour résoudre les problèmes de Big Data.

  • Évolutivité – En ajoutant des nœuds, nous pouvons facilement développer notre système pour gérer plus de données.
  • Flexibilité –   Dans ce cadre, vous n'avez pas à prétraiter les données avant de les stocker. Vous pouvez stocker autant de données que vous le souhaitez et décider comment les utiliser ultérieurement.
  • Faible coût :  Le framework Open Source est gratuit et s'exécute sur du matériel standard à faible coût.
  • Tolérance aux pannes :  Si les nœuds tombent en panne, les travaux sont automatiquement redirigés vers d'autres nœuds.
  • Puissance de calcul – C'est  le modèle informatique distribué traite rapidement le Big Data. Plus vous utilisez de nœuds de calcul, plus vous disposez de puissance de traitement.

Inconvénients de Hadoop

Certains inconvénients d'Apache Hadoop Framework sont donnés ci-dessous-

  • Problèmes de sécurité – Il peut être difficile de gérer l'application complexe. Si l'utilisateur ne sait pas comment activer la plate-forme qui gère la plate-forme, vos données pourraient alors représenter un risque énorme. Depuis, les niveaux de stockage et de réseau Hadoop manquent de chiffrement, ce qui est un sujet de préoccupation majeur.
  • Vulnérable par nature –  Le framework est écrit presque en java, le langage le plus utilisé. Java est fortement exploité par les cybercriminels. En conséquence, impliqué dans de nombreuses failles de sécurité.
  • Pas adapté aux petites données – Depuis, il n'est pas adapté aux petites données. Par conséquent, il n'a pas la capacité de prendre en charge efficacement la lecture aléatoire de petits fichiers.
  • Problèmes de stabilité potentiels :  Comme il s'agit d'un framework open source. Cela signifie qu'il est créé par de nombreux développeurs qui continuent à travailler sur le projet. Bien que des améliorations soient constamment apportées, il a des problèmes de stabilité. Pour éviter ces problèmes, les organisations doivent utiliser la dernière version stable.

Conclusion

En conclusion, nous pouvons dire que c'est l'outil Big Data le plus populaire et le plus puissant. Il stocke une énorme quantité de données de manière distribuée.

Et traite ensuite les données en parallèle sur un cluster de nœuds. Il fournit également la couche de stockage la plus fiable au monde, HDFS. Moteur de traitement par lots MapReduce et couche de gestion des ressources - YARN.

Par conséquent, ces démons assurent la fonctionnalité Hadoop.


No