Qu'est-ce que Hadoop?
Apache Hadoop est un framework logiciel open source utilisé pour développer des applications de traitement de données qui sont 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 grappes d'ordinateurs courants. Les ordinateurs de base sont bon marché et largement disponibles. Celles-ci sont principalement utiles pour obtenir une plus grande puissance de calcul à faible coût.
Semblable 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és Hadoop . Le modèle de traitement est basé sur le concept de «localisation de données» 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, mais 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? Le cluster d'ordinateurs se compose d'un ensemble d'unités de traitement multiples (disque de stockage + processeur) qui sont connectées entre elles et agissent comme un système unique.
Dans ce tutoriel, vous apprendrez,
- EcoSystem et composants Hadoop
- Architecture Hadoop
- Caractéristiques de 'Hadoop'
- Topologie de réseau dans Hadoop
EcoSystem et composants Hadoop
Le diagramme ci-dessous montre divers composants de l'écosystème Hadoop.
Apache Hadoop se compose de deux sous-projets -
- Hadoop MapReduce: MapReduce est un modèle de calcul et une infrastructure logicielle pour l'écriture d'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.
- HDFS ( Hadoop Distributed File System ): HDFS prend en charge 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 des nœuds de calcul dans un cluster. Cette distribution permet des calculs fiables et extrêmement rapides.
Bien que Hadoop soit surtout connu pour MapReduce et son système de fichiers distribué - HDFS, le terme est également utilisé pour une famille de projets connexes qui relèvent de l'informatique distribuée et du traitement de données à grande échelle. Parmi les autres projets liés à Hadoop chez Apache, citons Hive, HBase, Mahout, Sqoop, Flume et ZooKeeper.
Architecture Hadoop
Hadoop dispose d'une architecture maître-esclave pour le stockage des données et le traitement des données distribuées à l'aide des méthodes MapReduce et HDFS.
NomNœud:
NameNode représentait tous les fichiers et répertoires utilisés dans l'espace de noms
DataNode:
DataNode vous aide à gérer l'état d'un nœud HDFS et vous permet d'interagir avec les blocs
MasterNode:
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 calculs complexes. De plus, tous les nœuds esclaves sont livrés avec Task Tracker et un DataNode. Cela vous permet de synchroniser les processus avec le NameNode et le 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'
• Convient pour l'analyse de Big Data
Le Big Data ayant tendance à être distribué et non structuré par nature, les clusters HADOOP sont les mieux adaptés à l'analyse du Big Data. Comme c'est la logique de traitement (et non les données réelles) qui circule vers les nœuds de calcul, moins de bande passante réseau est consommée. Ce concept est appelé concept de localité des données qui permet d'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 d'application.
• Tolérance aux pannes
L'écosystème HADOOP a une disposition pour répliquer les données d'entrée sur d'autres nœuds de cluster. De cette façon, en cas de défaillance d'un nœud de cluster, le traitement des données peut toujours continuer en utilisant les données stockées sur un autre nœud de cluster.
Topologie de réseau dans Hadoop
La topologie (organisation) du réseau affecte les performances du cluster Hadoop lorsque la taille du cluster Hadoop augmente. En plus des performances, il faut également se soucier de la haute disponibilité et de la gestion des pannes. Afin d'atteindre cet Hadoop, la formation de cluster utilise la topologie du réseau.
En règle générale, la bande passante du réseau est un facteur important à prendre en compte lors de la formation d'un réseau. Cependant, comme la mesure de la bande passante peut être difficile, dans Hadoop, un réseau est représenté sous la forme d'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 se compose de racks et le rack se compose 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 au fur et à 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