Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Hadoop
  3. HDFS
Extrait - Hadoop Devenez opérationnel dans le monde du Big Data
Extraits du livre
Hadoop Devenez opérationnel dans le monde du Big Data
1 avis
Revenir à la page d'achat du livre

HDFS

Introduction

« Un ensemble d’individus ne devient pas une équipe simplement en portant le même uniforme. Une vraie équipe a une vision commune. » paraphrase de l’expert américain en leadership John C Maxwell.

Comme nous l’avons vu tout au long de cet ouvrage, le fait de regrouper des ordinateurs sous forme de cluster permet de répondre aux exigences actuelles de volumes importants de données, d’augmenter la performance en termes de puissance de calcul, de gérer efficacement les montées en charge, d’équilibrer le réseau et d’augmenter le niveau de disponibilité (ou de résilience) du système. La clé pour obtenir ces avantages est que les nœuds du cluster travaillent en synergie, en clair que le cluster apparaisse comme UN ordinateur central unique aux yeux des utilisateurs. Les administrateurs système également perçoivent le cluster comme une machine unique, ce qui rend la maintenance de ce dernier équivalente à la maintenance d’un serveur unique. En informatique, le fait de regrouper des ordinateurs sous forme d’un cluster qui est perçu et administré comme une seule machine est appelé le SSI (Single System Image). La clé pour faire apparaître un cluster d’ordinateurs comme un ordinateur unique ou un SSI est le système...

Pourquoi a-t-on besoin d’un système de fichiers ?

Nous avions dit dans le chapitre Architecture infrastructurelle d’Hadoop que le disque dur fait partie d’une catégorie de mémoires de l’ordinateur appelée les mémoires de masse. La caractéristique centrale des mémoires de masse est que, contrairement aux mémoires centrales de l’ordinateur comme la RAM, celles-ci conservent leur contenu même après la mise hors tension de l’ordinateur. Cependant, toute mémoire de masse s’appuie sur un système de fichiers pour bien fonctionner. Un système de fichiers (ou FS pour File System) ou un Système de gestion de Fichiers (SGF) est une manière d’organiser le stockage des données sur le disque dur d’un ordinateur. En d’autres termes, c’est une abstraction d’organisation du stockage des données sur un disque dur. Une telle organisation permet de conserver dans le long terme des quantités importantes de données ainsi que de les partager entre plusieurs programmes informatiques. Il offre à l’utilisateur une vue abstraite sur ses données et permet de les localiser à partir d’un chemin d’accès.

De façon générale, pour conserver les données dans le temps et dans la durée, le principe employé en informatique consiste à persister les données sur des disques durs sous forme de suites de blocs. L’échange de données entre la RAM et le disque dur se fait ensuite par transfert de ces blocs. Les données sont sérialisées dans des fichiers et ce sont ces fichiers qui sont persistés sur le disque dur en suites de blocs. L’objectif du système de fichiers est de permettre l’accès au contenu des fichiers persistés sur le disque dur à partir de leur chemin d’accès de façon totalement transparente à l’utilisateur. Les opérations d’accès aux fichiers incluent par exemple l’ouverture du fichier, son enregistrement, sa copie ou son déplacement dans un autre emplacement, ou sa suppression. Pour que vous cerniez mieux le rôle de système de fichiers, il faut que vous compreniez les principes de fonctionnement des mémoires de masse...

Définition du HDFS dans le cluster Hadoop

Le HDFS est le système de fichiers distribué d’Hadoop. C’est une implémentation du GFS de Google. De façon générale, tous les systèmes de fichiers distribués fonctionnent selon les principes que nous avons vus précédemment concernant le stockage des données dans les architectures shared-nothing. Certaines modifications peuvent être faites dans les implémentations en fonction des objectifs du cluster. Dans cette partie, nous allons vous expliquer le fonctionnement et les caractéristiques du HDFS.

1. Définition et rôle du HDFS dans le cluster

Le HDFS est une implémentation du GFS, le système de fichiers distribué créé par Google. Il est installé sur un cluster Hadoop pour gérer le stockage distribué d’un grand volume de données sur les nœuds du cluster de façon complètement tolérante aux pannes. Plus précisément, il remplit les deux fonctions suivantes :

  • Il assure le stockage des données de l’ordre du téraoctet (1 000 Go) ou du pétaoctet (1 000 To, soit 1 000 000 Go) à travers un large nombre de machines, et supporte les blocs de fichier de plus grande taille que les systèmes de fichiers classiques.

  • Il stocke les données de façon redondante afin de rendre le cluster tolérant aux pannes (cluster failover).

Grâce à ces deux fonctions, le HDFS assure un haut niveau de disponibilité au cluster et augmente la performance des traitements MapReduce. Cependant, ces avantages sont obtenus au prix de nombreux arbitrages faits quant à son architecture :

  • Le HDFS ne supporte que les opérations de lecture, d’ajouts et de suppression des fichiers. Les opérations de modification des fichiers (update et random seeks - accès aléatoires aux données) ne sont pas prises en charge.

  • À la différence d’un système de fichiers distribué classique, le HDFS ne fournit pas de mécanisme de cache (table de référence du système de fichiers, propre à chaque nœud) pour les blocs de fichier. En effet, les blocs de fichier sont beaucoup trop larges (64 Mo par défaut) pour être chargés...

Conclusion

Le disque dur est l’élément de tout système informatique qui stocke les données dans la durée. En réalité, les données ne sont que des signaux numériques pour le disque dur et toutes les autres mémoires de masse, des suites de 0 et de 1 qui n’ont aucune valeur. Le système de fichiers est l’élément qui donne un sens à ces suites de 0 et de 1. Ils les organise et présente des fichiers exploitables à l’utilisateur. Il fait office d’interface entre le disque dur et l’utilisateur, l’humain et la machine. Techniquement, les données sont stockées sur le disque dur dans des blocs de taille fixe. Le système de fichiers s’assure que pour tout fichier, on est capable de retrouver l’ensemble de ses blocs dans le disque dur. En fonction de l’architecture du système informatique, le système de fichiers n’est pas le même. Dans les architectures distribuées, le système de fichiers prend trois formes : le NAS, le SAN et le DFS. Hadoop est l’implémentation d’un modèle de calcul de cluster, il a besoin du HDFS pour fonctionner. Le HDFS est en fait la clé de l’efficacité d’un cluster Hadoop, c’est lui qui le rend capable de gérer de gros volume de données de façon complètement...

Guide d’étude du chapitre

Question 1 : Qu’est-ce qu’une mémoire de masse ?

Question 2 : Qu’est-ce qu’un système de fichiers ?

Question 3 : Quel est le rôle d’un système de fichiers ?

Question 4 : Qu’est-ce qu’un espace de noms ?

Question 5 : Quel est le rôle de l’opération READBLOCK (bloc_id) ?

Question 6 : Quel est le rôle de l’opération WRITEBLOCK (bloc_id) ?

Question 7 : Dans le cadre d’un cluster, pourquoi a-t-on besoin d’un système de fichiers ?

Question 8 : Citez les deux modes de configuration du partage d’un disque dur dans un cluster shared-disk.

Question 9 : Qu’est-ce qu’un système de fichiers distribué (DFS) ?

Question 10 : Quel est le rôle d’un système de fichiers distribué dans un cluster ?

Question 11 : Quel est le problème avec le stockage des fichiers de faible taille dans un système de fichiers distribué ?

Question 12 : Donnez la définition du HDFS.

Question 13 : Donnez les deux caractéristiques du HDFS qui le différencient des autres systèmes de fichiers distribués.

Question 14 : Quel est le rôle de la réplication des données dans le cluster par le HDFS ?

Question 15 : Quel est le rôle du nœud...

À retenir

  • La clé pour qu’un ensemble d’ordinateurs travaillent en synergie est qu’ils apparaissent comme un seul ordinateur au niveau du système d’exploitation.

  • La clé pour faire apparaître un cluster d’ordinateurs comme un seul ordinateur est le système de fichiers.

  • Le système de fichiers est une abstraction d’organisation du stockage des données sur une mémoire de masse. C’est l’interface entre l’humain et le disque dur.

  • Les mémoires de masse sont des mémoires capables de conserver leurs données même après mise hors tension de l’ordinateur. Le disque dur, les clés USB sont des exemples de mémoires de masse.

  • Au sein d’un disque dur, les données sont stockées dans des blocs de taille fixe.

  • La taille qu’un fichier occupe sur un disque dur est égale au nombre de blocs du disque dur qu’il occupe.

  • Deux types d’opérations se font sur un disque dur : la lecture des blocs (READBLOCK) et l’écriture dans les blocs (WRITEBLOCK).

  • Le système de fichiers d’une architecture distribuée s’appelle un système de fichiers distribué.

  • Il existe trois types de systèmes de fichiers distribués : le NAS, le SAN et le DFS.

  • Le système de fichiers distribué d’Hadoop est le HDFS.

  • Le HDFS...