Qu’est-ce que HDFS? (Système de fichiers distribué Hadoop)
概要: Explication de ce qu’est HDFS (Hadoop Distributed File System). Cet article décrit également l’utilisation de HDFS et fournit un exemple.
手順
Qu’est-ce que HDFS? (Système de fichiers distribué Hadoop)
Faits
Réponse au système
de fichiers distribué Hadoop
À propos de Hadoop Distributed File System (HDFS)
Pour comprendre comment il est possible d’étendre un cluster Hadoop® à des centaines (voire des milliers) de nœuds, vous devez commencer par hadoop Distributed File System (HDFS). Les données d’un cluster Hadoop
sont divisées en petits blocs (appelés blocs) et distribuées dans l’ensemble du cluster. De cette façon, les fonctions de mappage et de réduction peuvent être exécutées sur des sous-ensembles plus petits de vos jeux de données plus volumineux, ce qui fournit l’évolutivité nécessaire pour le traitement du Big Data.
Quel est l’objectif?
L’objectif de Hadoop est d’utiliser des serveurs couramment disponibles dans un très grand cluster, où chaque serveur dispose d’un ensemble de lecteurs de disques internes peu coûteux. Pour des performances supérieures, MapReduce
tente d’attribuer des charges applicatives à ces serveurs où les données à traiter sont stockées. C’est ce que l’on appelle la localité des données. (C’est pour cette raison que l’utilisation d’un réseau san (Storage Area Network) ou d’un stockage rattaché au réseau (NAS) dans un environnement Hadoop n’est pas recommandée. Pour les déploiements Hadoop à l’aide d’un SAN ou d’un NAS, la surcharge de communication réseau supplémentaire peut entraîner des goulots d’étranglement des performances, en particulier pour les clusters de plus grande taille.) Prenez quelques instants pour penser à un cluster de 1 000 machines, où chaque machine dispose de trois lecteurs de disque internes. prenons ensuite en compte le taux de défaillance d’un cluster composé de 3 000 disques économiques et de 1 000 serveurs peu coûteux!
Nous sommes probablement déjà sur la même longueur d’onde ici: Le temps de défaillance moyen du composant (MTTF) que vous allez rencontrer dans un cluster Hadoop est probablement similaire à celui d’une fermeture à glissière sur la poche de votre enfant: il va tomber en panne (et suffisamment, les fermetures à glissière semblent échouer uniquement lorsque vous en avez vraiment besoin). Ce qui est intéressant avec Hadoop, c’est que la réalité des taux MTTF associés au matériel bon marché est bien comprise (un point de conception si vous le souhaitez), et la force de Hadoop est qu’il possède des fonctionnalités intégrées de tolérance aux pannes et de compensation des pannes. C’est la même chose pour HDFS, car les données sont divisées en blocs et les copies de ces blocs sont stockées sur d’autres serveurs du cluster Hadoop. Autrement dit, un fichier individuel est stocké sous forme de blocs plus petits qui sont répliqués sur plusieurs serveurs dans l’ensemble du cluster.
Exemple de HDFS
Pensez à un fichier contenant les numéros de téléphone de tout le monde aux États-Unis. les personnes dont le nom de famille commence par A peuvent être stockées sur le serveur 1, B sur le serveur 2, et ainsi de suite. Dans un monde Hadoop, des morceaux de cet annuaire sont stockés dans le cluster, et pour reconstruire l’intégralité de l’annuaire, votre programme aurait besoin des blocs de chaque serveur du cluster. Pour assurer la disponibilité à mesure que les composants échouent, HDFS réplique ces petits éléments sur deux serveurs supplémentaires par défaut. (Cette redondance peut être augmentée ou réduite par fichier ou pour l’ensemble d’un environnement; par exemple, un cluster Hadoop de développement n’a généralement pas besoin de redondance des données.) Cette redondance offre plusieurs avantages, le plus évident étant la disponibilité supérieure.
En outre, cette redondance permet au cluster Hadoop de se décomposer en fragments plus petits et d’exécuter ces tâches sur tous les serveurs du cluster pour une meilleure évolutivité. Enfin, vous bénéficiez de l’avantage de la localisation des données, ce qui est essentiel lorsque vous travaillez avec des jeux de données volumineux. Nous détaillerons ces avantages importants plus loin dans ce chapitre.