Ce blog est tout au sujet HDFS Erasure codage. Dans ce blog, nous allons discuter du concept de codage Erasure Hadoop , Les questions de l'ancien système de réplication. Deux algorithmes pour l'effacement Hadoop de codage tels que l'algorithme XOR, l'algorithme Reed-Solomon sont également discutés dans ce blog.
Enfin, nous verrons l'architecture et les avantages de l'effacement de codage dans Hadoop HDFS.
Problème ancien système de réplication
HDFS Erasure codage est une nouvelle fonctionnalité pour réduire les frais généraux de stockage d'environ 50% par rapport à 3 fois la réplication. Hadoop HDFS reproduit chaque bloc 3 fois à des fins diverses. Il est une forme très simple de redondance pour protéger contre la défaillance de DataNode.
Avec les pros, il a plusieurs inconvénients qu'il est très cher. 3 x réplication a 200% de frais généraux dans l'espace de stockage et d'autres ressources. DataSets faible activité E / S, des répliques d'addition sont rarement accessibles pendant le fonctionnement normal mais consomment d'autres ressources.
Ceci est la raison pour laquelle le codage Hadoop Erasure est entré en existence. Il offre le même niveau de tolérance aux pannes avec moins d'espace et stocker 50% de frais généraux de stockage.
Lorsque l'on compare les différents système de stockage, une considération importante est:
- durée de vie des données (nombre de défauts simultanément tolérance)
- l'efficacité du stockage
Ainsi, dans la réplication N voies, il existe une tolérance de panne N-1 avec 1 / n efficacité du stockage.
Qu'est-ce que HDFS Erasure codage dans Hadoop?
HDFS Erasure utilise un codage RAID . RAID utilise des outils CE décapage. Décapage stocke logiquement les données sous la forme d'un bloc. stocke ensuite ces blocs sur le disque différent. Il calcule la parité pour chaque bloc et à stocker. Ceci est codé. Grâce à la parité, il récupère l'erreur.
Pour la tolérance aux pannes CE étend un message avec des données redondantes. HDFS Erasure de codage fonctionnera sur les cellules de données de taille uniforme. Le codec prend un certain nombre de cellules de données en entrée. Et puis produit des cellules de parité comme la sortie.
Ce processus est appelé comme encodage. Parité et cellule de données sont appelés ensemble en tant que groupe de codage d'effacement. Le processus par lequel reconstruit de cellules de données perdues sur les cellules restantes est connu sous le décodage.
Deux algorithmes disponibles pour HDFS Erasure de codage sont comme suit:
a) XOR algorithme
Il est simple de mise en œuvre Hadoop Erasure codage.
Supposons que les cellules de données X et Y et Z sont des cellules de données, puis la cellule de parité est XOR de ces trois cellules de données x ⊕ y ⊕ z si pendant l'opération de XOR un seul bit de parité est généré et si un bit quelconque d'une perte, il peut être récupéré par les cellules de données restantes et un bit de parité.
Il est très limité, car il produit 1 bit de parité si l'opération XOR peut tolérer seulement 1 échec avec la taille du groupe n.
« Dans la tolérance aux pannes de fonctionnement XOR et une efficacité de stockage est n-1 / n lorsque la taille du groupe est n . «
b) Reed-Solomon algorithme
Reed-Solomon traite de la limitation de l'opération XOR. Il utilise l'algèbre linéaire pour générer de multiples cellules de parité. RS utilise deux paramètres k et m, k est un nombre de cellules de données et m est un nombre de cellules de parité.
RS fonctionne en multipliant les cellules de données de k d'une matrice de générateur (G), pour générer des mots de code étendu avec des cellules de données de k et des cellules de parité de m. échec de stockage peut être récupéré par l'inverse multiplicatif de la matrice génératrice avec les mots de code prolongée aussi longtemps que k de cellules de k + m est disponible.
« Avec Reed, la tolérance aux pannes Salomon est à cellules m et l'efficacité du stockage k / k + m où k sont des cellules de données et m sont des cellules de parité. »
Décision Conception et architecture
CE striping présente plusieurs avantages:
- Décapage permet en ligne EC (écrire des données immédiatement au format CE), en évitant une phase de conversion et de l'espace de stockage d'économie immédiatement.
- Il distribue un petit fichier à plusieurs DataNodes. Il élimine les faisceaux de plusieurs fichiers en même groupe de codage. Ainsi, il simplifie le fonctionnement de fichiers tels que la suppression et la migration entre les espaces de noms fédérés.
- Pour un meilleur soutien des petits fichiers, support CE décapage. À l'avenir, HDFS soutiendra également une disposition contiguë CE.
CE a ajouté de nombreux nouveaux composants sont:
- Extensions NameNode (ECManager ) - Stripe fichiers HDFS sont logiquement composés de groupes de blocs. Dont chacune contient un certain nombre de blocs internes. Afin de réduire la consommation de mémoire de NameNode à partir de ces blocs supplémentaires, il a introduit un nouveau protocole d'attribution de noms de bloc hiérarchique. CE déduit l'identifiant d'un groupe de blocs à partir de l'ID de l'un de ses blocs internes. Cela permet une gestion au niveau du groupe de bloc plutôt que le bloc.
- Extensions client (CE Client) - Le client peut lire et effectuer une opération d'écriture sur plusieurs blocs internes dans un groupe de blocs en parallèle.
- Extensions DataNode (ECWorker) - DataNode exécute une tâche de travail supplémentaire CE pour la récupération des blocs codés d'effacement a échoué. Ainsi, NameNode détecte l'échec des blocs CE, NameNode donner des instructions de récupération à DataNodes. Ensuite, il passe la tâche de récupération comme réponse du rythme cardiaque.
Avantages de Erasure codage
- Disponibilité des données à faible capacité: HDFS codes Erasure permettent la disponibilité de données à moindre capacité. Dans un premier temps, les blocs se répliquent dans trois répliques. Ainsi, l'espace de stockage de trois répliques est grande. Mais maintenant, dans l'effacement de codage grand magasin de données comme un bit de parité, afin que le stockage, il réduit l'espace.
- Performance: Comme CE stocke les données en parité au lieu de 3 répliques il donne de meilleures performances.
- Récupération rapide: Il découvre et récupère HDFS bloquent activement les erreurs à la fois (en arrière-plan) et passivement (sur le chemin de lecture).
Conclusion
En conclusion, nous pouvons dire que, HDFS Erasure codage a réduit les frais généraux de stockage de 50%. CE réduit les frais généraux en raison des bits de parité. Par conséquent, ces HDFS caractéristiques Empower fonctionnalité Apache Hadoop.
Si vous avez une question ou suggestion relative à Erasure codage en HDFS, donc s'il vous plaît nous commenter dans la section ci-dessous.