Apache Hadoop est un framework open source, évolutif et tolérant aux
pannes, écrit en Java. Il traite efficacement de grands volumes de données sur un cluster de hardware. Hadoop n'est pas seulement un système de stockage, mais aussi une plateforme pour le stockage et le traitement de grandes quantités de données. Dans cette lecture, nous allons voir comment Apache Hadoop fonctionne "Under The Hood". Ainsi, lorsque Apache Hadoop reçoit un énorme fichier, le framework divise ce gros morceau de données en plus petits morceaux et les stocke sur plusieurs machines pour être traités en parallèle, c'est pourquoi Hadoop relie une armée de machines largement disponibles et relativement peu coûteuses qui forment un Hadoop cluster. Et une chose importante, quelle que soit la taille du fichier que l'utilisateur transmet à Hadoop, chacun de ses clusters accueille trois couches fonctionnelles, Hadoop distributed file systems pour le stockage des données, Hadoop MapReduce pour le traitement, et Hadoop Yarn pour la gestion des ressources. Ensuite, nous avons une brève introduction à HDFS, un système de fichiers distribué qui suit une architecture master/slave. Il se compose d'un seul NameNode et de nombreux DataNode. Dans l'architecture HDFS, un fichier est divisé en un ou plusieurs blocs de 128 Mo (la taille peut être modifiée ultérieurement dans les configurations) et stocké dans des DataNode séparés. Les DataNodes sont responsables des opérations telles que la création, la suppression et la réplication des blocs selon les instructions du NameNode. En plus de cela, ils sont chargés d'effectuer des opérations de read-write sur les systèmes de fichiers. NameNode joue le rôle de serveur master et de contrôleur central pour HDFS. Il contient les métadonnées et maintient le namespace du système de fichiers, il aussi supervise l'état du DataNode et coordonne l'accès aux données.