hadoop distcp复制副本吗

0pizxfdo  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(385)

如果我使用distcp在两个集群中复制数据,它是复制所有副本还是只复制一个数据副本并将其复制到新集群上?
例如,我尝试从复制因子(rf)为3的集群复制3gb的数据。distcp是否会复制完整的3gb数据,或者它是否知道由于rf是3,它只需要移动1gb(一个拷贝)的数据。最后在目标集群上,它查看rf并相应地复制数据。

vu8f3i0k

vu8f3i0k1#

原始数据的大小很重要。如果原始数据为1 gb,则复制因子=3最多需要3x1 gb。将数据从一个集群复制到另一个集群时,原始数据很重要。只有原始的1 gb数据将被复制到目标群集。
hdfs在内部处理块的复制。它将注意到集群上的新数据,并相应地复制那些复制不足的块,即复制副本少于rf。

b1zrtrql

b1zrtrql2#

使用distcp进行复制时,将只复制/复制实际数据(即数据的一个副本)。复制将由框架处理,就像将新数据写入hdfs时的处理方式一样。此外,如果两个集群之间存在distcp,还可以指定是否要在源位置保留复制因子。
更多信息:
https://hadoop.apache.org/docs/stable1/distcp.html

相关问题