Qu’est-ce qu’Hadoop ? Introduction, Architecture, Ecossystème, composants

Qu'est-ce qu'Hadoop ?

Apache Hadoop est un framework logiciel open source utilisé pour développer des applications de traitement de données exécutées dans un environnement informatique distribué.

Les applications créées à l'aide de HADOOP sont exécutées sur de grands ensembles de données répartis sur des clusters d'ordinateurs courants. Les ordinateurs de base sont bon marché et largement disponibles. Ceux-ci sont principalement utiles pour obtenir une plus grande puissance de calcul à faible coût.

Semblables aux données résidant dans un système de fichiers local d'un système informatique personnel, dans Hadoop, les données résident dans un système de fichiers distribué appelé système de fichiers distribué. Système de fichiers distribué Hadoop. Le modèle de traitement est basé sur « Localité des données » concept dans lequel la logique de calcul est envoyée aux nœuds de cluster (serveur) contenant des données. Cette logique de calcul n’est rien d’autre qu’une version compilée d’un programme écrit dans un langage de haut niveau tel que Java. Un tel programme traite les données stockées dans Hadoop HDFS.

Savez-vous? Un cluster informatique se compose d'un ensemble de plusieurs unités de traitement (disque de stockage + processeur) qui sont connectées les unes aux autres et agissent comme un système unique.

Hadoop EcoSsystème et composants

Le diagramme ci-dessous montre divers composants de Hadoop ecossystème-

Hadoop EcoSsystème et composants

Apache Hadoop se compose de deux sous-projets :

  1. Hadoop MapReduce : MapReduce est un modèle informatique et un cadre logiciel permettant d'écrire des applications exécutées sur Hadoop. Ces programmes MapReduce sont capables de traiter d'énormes données en parallèle sur de grands clusters de nœuds de calcul.
  2. HDFS (Système de fichiers distribué Hadoop) : HDFS s'occupe de la partie stockage des applications Hadoop. Les applications MapReduce consomment des données de HDFS. HDFS crée plusieurs répliques de blocs de données et les distribue sur les nœuds de calcul d'un cluster. Cette répartition permet des calculs fiables et extrêmement rapides.

Bien que Hadoop soit surtout connu pour MapReduce et son système de fichiers distribués, HDFS, le terme est également utilisé pour désigner une famille de projets connexes qui relèvent de l'informatique distribuée et du traitement de données à grande échelle. Autres projets liés à Hadoop sur Apache comprennent sont Ruche, HBase, Mahout, Sqoop, Flume et ZooKeeper.

Hadoop Architecture

Hadoop Architecture
Hadoop de haut niveau Architecture

Hadoop a un maître-esclave Architecture pour le stockage de données et le traitement de données distribué utilisant MapReduce et les méthodes HDFS.

NomNœud:

NameNode représentait tous les fichiers et répertoires utilisés dans l'espace de noms

Noeud de données :

DataNode vous aide à gérer l'état d'un nœud HDFS et vous permet d'interagir avec les blocs

Nœud maître :

Le nœud maître vous permet d'effectuer un traitement parallèle des données à l'aide de Hadoop MapReduce.

Nœud esclave :

Les nœuds esclaves sont les machines supplémentaires du cluster Hadoop qui vous permettent de stocker des données pour effectuer des communications.plex calculs. De plus, tous les nœuds esclaves sont livrés avec Task Tracker et un DataNode. Cela vous permet de syncSynchronisez les processus avec NameNode et Job Tracker respectivement.

Dans Hadoop, le système maître ou esclave peut être configuré dans le cloud ou sur site

Caractéristiques de « Hadoop »

• Adapté à l'analyse du Big Data

Comme le Big Data a tendance à être distribué et de nature non structurée, les clusters HADOOP sont les mieux adaptés à l'analyse du Big Data. Étant donné que c'est la logique de traitement (et non les données réelles) qui circule vers les nœuds informatiques, moins de bande passante réseau est consommée. Ce concept est appelé comme concept de localité de données ce qui contribue à augmenter l’efficacité des applications basées sur Hadoop.

• Évolutivité

Les clusters HADOOP peuvent facilement être mis à l'échelle dans n'importe quelle mesure en ajoutant des nœuds de cluster supplémentaires et permettent ainsi la croissance du Big Data. De plus, la mise à l’échelle ne nécessite aucune modification de la logique de l’application.

• Tolérance aux pannes

HADOOP ecosLe système dispose d'une possibilité de répliquer les données d'entrée sur d'autres nœuds du cluster. De cette façon, en cas de panne d'un nœud de cluster, le traitement des données peut toujours se poursuivre en utilisant les données stockées sur un autre nœud de cluster.

Topologie du réseau dans Hadoop

La topologie (arrangement) du réseau affecte les performances du cluster Hadoop lorsque la taille du cluster Hadoop augmente. Outre les performances, il faut également veiller à la haute disponibilité et à la gestion des pannes. Pour réaliser cet Hadoop, la formation de clusters utilise la topologie du réseau.

Topologie du réseau dans Hadoop

En règle générale, la bande passante du réseau est un facteur important à prendre en compte lors de la création d'un réseau. Cependant, comme mesurer la bande passante peut être difficile, dans Hadoop, un réseau est représenté comme un arbre et la distance entre les nœuds de cet arbre (nombre de sauts) est considérée comme un facteur important dans la formation du cluster Hadoop. Ici, la distance entre deux nœuds est égale à la somme de leur distance à leur ancêtre commun le plus proche.

Le cluster Hadoop se compose d'un centre de données, du rack et du nœud qui exécute réellement les tâches. Ici, le centre de données est constitué de racks et le rack est constitué de nœuds. La bande passante réseau disponible pour les processus varie en fonction de l'emplacement des processus. Autrement dit, la bande passante disponible diminue à mesure que nous nous éloignons de-

  • Processus sur le même nœud
  • Différents nœuds sur le même rack
  • Nœuds sur différents racks du même centre de données
  • Nœuds dans différents centres de données