将数据从S3迁移到Google云存储

时间:2013-06-06 18:22:08

标签: amazon-s3 google-cloud-storage gsutil

我需要将大量文件(大约数十TB)从Amazon S3移动到Google云端存储中。 S3中的文件都在500mb以下。

到目前为止,我已尝试将gsutil cp与并行选项(-m)一起使用,将S3作为源,将GS作为目标直接使用。即使调整多处理和多线程参数,我也无法达到超过30mb / s的性能。

我现在正在考虑的事情:

  • 使用distcp将数据从S3批量加载到hdfs中,然后找到一种方法将所有数据分散到谷歌存储中(据我所知不支持),或者:

    < / LI>
  • 设置一个hadoop集群,其中每个节点运行一个gsutil cp并行作业,S3和GS作为src和dst

如果支持第一个选项,我会非常感谢有关如何执行此操作的详细信息。然而,似乎我必须找出如何做第二个。我不确定如何追求这个途径,因为我需要跟踪许多节点上的gsutil可恢复传输功能,而且我通常没有经验来运行这种hadoop工作。

如何追求其中一种途径(或者我没想过的更简单的东西)的任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:5)

您可以设置Google Compute Engine(GCE)帐户并从GCE运行gsutil以导入数据。您可以启动多个GCE实例,每个实例都导入一部分数据。这是我们在2013年Google I / O上发表的谈话所涉及的技术之一,称为Importing Large Data Sets into Google Cloud Storage

如果您使用此方法,您要做的另一件事是使用gsutil cp -L-n选项。 -L创建一个清单,记录有关已传输内容的详细信息,-n允许您避免重新复制已复制的文件(如果您从头开始重新复制副本,例如,中断)。我建议您更新到gsutil版本3.30(将在下周左右发布),这样可以改善-L选项在这种复制方案中的工作方式。

Mike Schwartz,谷歌云存储团队

答案 1 :(得分:3)

Google最近发布了云存储转移服务,旨在将大量数据从S3传输到GCS: https://cloud.google.com/storage/transfer/getting-started

(我意识到这个答案对于原始问题来说有点晚了,但它可能会帮助未来的访问者提出同样的问题。)