Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 将数据从Cloudera移动到Amazon S3存储桶_Hadoop_Amazon S3_Cloudera_Amazon Emr_Bigdata - Fatal编程技术网

Hadoop 将数据从Cloudera移动到Amazon S3存储桶

Hadoop 将数据从Cloudera移动到Amazon S3存储桶,hadoop,amazon-s3,cloudera,amazon-emr,bigdata,Hadoop,Amazon S3,Cloudera,Amazon Emr,Bigdata,我有关于CDH hdfs的数据,我想把它移到AmazonS3存储桶中,这样我就可以在AWS EMR而不是CDH上运行代码。 如何安全快速地移动它 我可以使用s3a命令或任何其他有效的方法来完成吗?我使用hdfs distcp将数据从S3复制到hdfs。它也支持反之亦然,因此在您的情况下也应该起作用。 由于它在内部使用map-reduce并进行并行处理,因此速度非常快。我创建了一个脚本,用于在日期数组中运行此命令,然后在后台模式下使用nohup运行它。 命令的语法为: hadoop distcp

我有关于CDH hdfs的数据,我想把它移到AmazonS3存储桶中,这样我就可以在AWS EMR而不是CDH上运行代码。 如何安全快速地移动它


我可以使用s3a命令或任何其他有效的方法来完成吗?

我使用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/

您可以使用
aws s3 cp
将任何文件复制到s3存储桶。我曾尝试使用aws s3 cp,但在某个时候复制停止。如果传输因某种原因中断,您可以始终使用
aws s3 sync
来代替。aws s3 cp将无法工作,因为我是将文件从hdfs复制到s3,而不是本地文件。因为我正在将数据从CDH复制到AmazonS3,所以我需要传递S3访问密钥和密钥。我试图运行命令:hdfs dfs-cp s3n://:@但它不起作用。它给了我“源文件列表和源路径都存在”的信息,但你总是可以挂载HDFS文件系统,对吗?我已经试过这个命令了,它给了我。错误tools.distcp.distcp:无效的拒绝java.net.connectException:拒绝连接。有什么解决方法吗?当运行命令的datanode无法访问S3时,通常会发生这种情况。您需要确保可以从运行此命令的节点访问s3。