Facteur de réplication HDFS

quand je télécharge un fichier vers HDFS, si je mets le facteur de réplication à 1 alors les fentes de fichier vont résider sur une seule machine ou les fentes seraient distribuées à plusieurs machines à travers le réseau ?

hadoop fs -D dfs.replication=1 -copyFromLocal file.txt /user/ablimit
14
demandé sur ablimit 2011-10-03 07:25:37

3 réponses

Selon Hadoop: Guide Définitif

la stratégie par défaut de Hadoop est de placer la première réplique sur le même noeud que le client (pour clients en dehors du cluster, un noeud est choisi au hasard, bien que le système essaie de ne pas choisir les nœuds qui sont trop ou trop occupé). La seconde réplique est placée sur un rack différent du premier (hors rack), choisi au hasard. La troisième réplique est placée sur la même crémaillère que la seconde, mais sur un autre nœud choisi au hasard. Plus de répliques sont placés sur des noeuds aléatoires sur le cluster, bien que le système essaie d'éviter de placer trop de répliques sur la même étagère.

cette logique a du sens puisqu'elle diminue le bavardage réseau entre les différents noeuds. Mais, le livre a été publié en 2009 et il y avait eu beaucoup de changements dans le cadre Hadoop.

je pense que cela dépend, si le client est la même qu'un nœud Hadoop ou pas. Si le client est un noeud Hadoop alors toutes les divisions seront sur le même noeud. Cela ne fournit pas un meilleur débit de lecture/écriture malgré la présence de plusieurs nœuds dans le cluster. Si le client n'est pas le même que le noeud Hadoop, alors le noeud est choisi au hasard pour chaque division, de sorte que les divisions sont réparties à travers les noeuds dans un cluster. Maintenant, cela fournit un meilleur débit de lecture/écriture.

l'un des avantages d'écrire à plusieurs noeuds est que même si l'un d'eux descend, quelques divisions peuvent être vers le bas, mais au moins certaines données peuvent être récupérées en quelque sorte du reste se divise.

11
répondu Praveen Sripati 2011-10-04 01:49:02

Si vous définissez la réplication à 1, alors le fichier sera présent uniquement sur le nœud client, qui est le nœud de l'endroit où vous téléchargez le fichier.

1
répondu Hari Menon 2011-10-03 17:07:49
  • si votre cluster est un seul noeud alors quand vous téléchargez un fichier il sera renversé selon la taille de bloc et il reste dans une seule machine.
  • si votre cluster est multi-noeud alors quand vous téléchargez un fichier il sera renversé selon la taille de bloc et il sera distribué à différentes datanode dans votre cluster via pipeline et NameNode décidera où les données doivent être déplacées dans le cluster.

le facteur de réplication HDFS est utilisé pour faire une copie des données (I. e) si votre facteur de réplicateur est 2, alors toutes les données que vous téléchargez dans HDFS auront une copie.

0
répondu Chandru 2015-08-25 11:00:11