Quel est le facteur de réplication dans HDFS et comment le définir?


Meilleure réponse

Eh bien, le facteur de réplication est 3 Par défaut dans HDFS .Dans celui-ci, il y a un bloc dorigine et deux répliques.

Mais cela peut être Set par nous.

Permettez-moi de vous expliquer comment procéder.

Vous voyez, il y a deux façons de le faire. Une est en utilisant la commande et autre est un changement direct dans hdfs-site.xml fichier.

Le premier est simple, il vous suffit de taper la commande comme suit:

Vous pouvez également modifiez le facteur de réplication par fichier à laide du shell Hadoop FS .

[sawant@localhost ~]$ hadoop fs –setrep –w 3 /my/file

Vous pouvez également modifier le facteur de réplication de tous les fichiers sous un répertoire.

[sawant@localhost ~]$ hadoop fs –setrep –w 3 -R /my/dir

comme vous voyez la commande ci-dessus, remplacez simplement 3 par ce que vous voulez.

Comprenons la deuxième…

Ouvrez le hdfs-site Fichier .xml . Ce fichier se trouve généralement dans le dossier conf / du répertoire dinstallation de Hadoop. Modifiez ou ajoutez la propriété suivante à hdfs-site.xml….

dfs.replication

3

Block Replication

hdfs-site.xml est utilisé pour configurer HDFS. La modification de la propriété dfs.replication dans hdfs-site.xml modifiera la réplication par défaut pour tous les fichiers placés dans HDFS.

Dans la propriété dfs.replication ci-dessus, remplacez simplement 3 par vos besoins.

Merci !!

Réponse

La vraie raison de choisir la réplication de trois est que cest le plus petit nombre qui permet une conception hautement fiable. Voyons pourquoi.

Considérez que vous perdrez des données si vous rencontrez une défaillance matérielle sur le matériel stockant chaque réplique des données. Pour les disques rotatifs modernes, le taux de défaillance est relativement simple et est denviron 5\% par an (vos chiffres peuvent être supérieurs ou inférieurs en fonction de votre méthode destimation et du matériel que vous achetez). Si toutes les pannes sont indépendantes (elles ne le sont pas, vraiment puisque vous obtenez de mauvais lots), cela signifie que les disques individuels échouent à un taux d’environ 1,6e-9 échecs par seconde et les échecs doivent être distribués selon une distribution de Poisson. Un millier de disques devraient avoir une perte de données à environ 1000 fois ce taux sur de courtes périodes de temps si vous ne supposez aucune réplication.

Nous pouvons utiliser ces nombres pour calculer ce que lon appelle le temps moyen de perte de données. Dans le cas dun disque unique, vous avez 95\% de chances de conserver vos données après un an, mais dans le cas de milliers de disques, vous avez une chance négligeable déviter la perte de données après un an. Je ne pense pas que même le cas dun seul disque soit acceptable, franchement.

Nous répliquons donc les données.

Le cas de mille disques aura environ 50 échecs par an, ce qui se traduit par une perte de disque chaque semaine environ. Cela ne veut pas dire que cela se produira à intervalles hebdomadaires exacts. Cela signifie simplement que le temps moyen entre les pannes de disque sera denviron une semaine. Après une panne de disque, nous devrons répliquer à nouveau les données car nous ne voulons pas d’un système qui se dégrade avec le temps. Si nous pouvons re-répliquer les données avant la panne du disque suivant contenant nos données, alors notre système évitera la perte de données due à la première panne.

Lastuce, cependant, est que le temps entre les disques individuels les pannes diminueront à mesure que la taille des systèmes augmentera. Si nous concevons bien les choses, cependant, le temps de re-réplication * diminuera * dans la même proportion. Le temps de récupération dépendra du nombre de disques par machine et de la bande passante du réseau entre les machines.

Cela signifie que nous pouvons faire une estimation rapide du temps moyen de perte de données assez facilement. Pour deux copies, nous devons calculer le taux de perte de disque, puis calculer la probabilité dune autre perte de disque pendant le temps de récupération de cette perte. Pour deux copies, nous devons étendre cela au cas où deux disques meurent pendant le temps de récupération du premier disque. Ceci est rendu plus complexe lorsque vous répartissez les disques et que vous avez des stratégies de récupération sophistiquées qui tentent de conserver un fonctionnement normal après le premier échec, mais qui consacrent toutes les ressources à la récupération après le deuxième échec.

Si vous faites le calcul, une copie de données vous donne une probabilité très élevée (presque certaine, en fait) de perdre des données dans un grand cluster.

Pour deux copies, vous avez une probabilité de perdre des données de lordre de 0,3 \% – 5\% selon vos paramètres de cluster. Ce nest pas suffisant pour la plupart des entreprises, mais certaines applications peuvent le tolérer.

Pour trois copies, vous pouvez généralement étendre la probabilité de perte de données à ,1\% par an, ce qui équivaut à une durée moyenne de perte de données de 1000 ans ou plus si vous faites les choses correctement.

Voilà donc la raison.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *