如果我使用distcp复制两个群集内的数据,它是复制所有副本,还是只复制数据的一个副本并将其复制到新群集上?
例如,我尝试从复制因子( RF )为3的集群中复制3 1gb的数据。distcp是否会复制全部3 1gb的数据,或者它是否知道由于RF为3,它只需要移动1 1gb(一个副本)的数据。最后,在目标群集上,它查看RF并相应地复制数据。
发布于 2013-03-21 03:36:58
原始数据大小很重要。如果原始数据为1 GB,则复制因子= 3最多需要3x1 GB。将数据从一个群集复制到另一个群集时,原始数据非常重要。只有1 GB的原始数据会被复制到目标群集。
HDFS在内部处理数据块的复制。它会注意到群集上的新数据,并相应地复制那些复制不足的数据块,即副本比RF少。
发布于 2014-01-07 20:32:36
虽然使用distcp进行复制,但只会复制/复制实际的数据(即数据的1个副本)。复制将由框架处理,就像将新数据写入HDFS时的处理方式一样。除此之外,如果在两个集群之间使用distcp,您还可以指定是否希望在源位置保留复制因子。
有关详细信息,请参阅:
https://stackoverflow.com/questions/15532575
复制相似问题