这个过程是将文件从一个hdfs位置复制到同一集群中的另一个位置。这工作正常,但hadoop-cp需要时间。对于同一个集群,可以用distcp替换它。或者是否有更好的解决方案来提高性能。
5sxhfpxr1#
根据docs,distcp可以在集群内和克隆之间复制数据:https://hadoop.apache.org/docs/current/hadoop-distcp/distcp.htmldistcp版本2(分布式复制)是一个用于大型集群间/集群内复制的工具。(…)最常见的distcp调用是集群间拷贝: bash$ hadoop distcp hdfs://nn1:8020/foo/bar hdfs://nn2:8020/bar/foo 这将把nn1上的/foo/bar下的名称空间扩展成一个临时文件,在一组Map任务中划分其内容,并在每个nodemanager上从nn1到nn2创建一个副本。
bash$ hadoop distcp hdfs://nn1:8020/foo/bar hdfs://nn2:8020/bar/foo
1条答案
按热度按时间5sxhfpxr1#
根据docs,distcp可以在集群内和克隆之间复制数据:
https://hadoop.apache.org/docs/current/hadoop-distcp/distcp.html
distcp版本2(分布式复制)是一个用于大型集群间/集群内复制的工具。(…)最常见的distcp调用是集群间拷贝:
bash$ hadoop distcp hdfs://nn1:8020/foo/bar hdfs://nn2:8020/bar/foo
这将把nn1上的/foo/bar下的名称空间扩展成一个临时文件,在一组Map任务中划分其内容,并在每个nodemanager上从nn1到nn2创建一个副本。