具有不同复制因子的集群之间的hadoop distcp

kg7wmglp  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(421)

作为背景,我们有两个集群,目前用于生产和开发。作为这项工作的一部分,我们正在将文件(使用hadoop distcp-update)从生产集群复制到开发集群,这些文件是由活动进程生成的(也就是说,它也可以有效地作为dr集群工作)。
两个集群上的hadoop版本相同:hadoop2.6.0-cdh5.12.1
但是,开发集群的存储容量只有活动集群的65%左右。为了解决这个问题,我们有一个默认的复制因子,live为3,development为2。
我注意到从live复制到development的文件的复制因子是3。我读了一些书,认为这就是它应该表现的样子,即使这不是我希望它表现的样子。
我有两个问题:
一些研究表明,-setrep可以在复制后使用,但是-d dfs.replication=x可以用作copy命令的一部分。有没有人有过这两种选择的经验?
以前是否有人必须处理这种情况并找到不同的解决办法?
谢谢你的帮助。

8ftvxx2r

8ftvxx2r1#

我做了一些测试并做了以下工作:
将distcp命令从 hadoop distcp -update $SOURCE $TARGEThadoop distctp -D dfs.replication=2 -update $SOURCE $TARGET 遍历以前复制的文件,因此复制因子为3并已使用 hdfs dfs -setrep -w 2 $TARGET 修正复制因子。
磁盘空间开始下降,所以我认为这是一个成功。也许有一天我可以说我知道我在做什么。

相关问题