2016-12-26 118 views
-1

我有关于CDH hdfs的数据,我想将其移至Amazon S3存储桶,以便我可以在AWS EMR而不是CDH上运行代码。 如何安全快速地移动它?将数据从Cloudera移动到Amazon S3存储桶

我可以用s3a命令或其他有效的方法来做到吗?

+0

您可以使用AWS'S3 cp'任何文件复制到一个S3桶。 –

+0

我试过使用aws S3 cp,但是在某些时候复制停止了。 –

+0

如果由于某种原因传输中断,您可以始终使用'aws s3 sync'代替。 –

回答

0

我使用hdfs distcp将数据从S3复制到hdfs。它也支持反之亦然,所以应该在你的情况下工作。 由于它在内部使用map reduce,并行处理速度非常快。我为一个日期数组创建了一个用于运行此命令的脚本,然后在后台模式下使用nohup运行它。命令的语法 是:

hadoop distcp -Dfs.s3n.awsAccessKeyId=$S3NKEYID -  Dfs.s3n.awsSecretAccessKey=$S3NKEY s3n://$COPYFROMENV/$TABLE_PATH/$TABLE/$PARTITION_PATH hdfs://$COPYTOENV/$TABLE_PATH/$TABLE/ 
+0

我已经试过这个命令,它给了我。 错误tools.distcp.Distcp:无效拒绝 java.net.connectException:连接被拒绝。 任何解决方法呢? –

+0

当您运行命令的datanode无法访问S3时,通常会发生这种情况。您需要确保可以从运行此命令的节点访问s3。 – Pushkin

相关问题