2

我正在开发一个 Java MapReduce 应用程序,该应用程序必须能够为从用户本地机器到 S3 存储桶的一些图片提供上传服务。

问题是应用程序必须在 EC2 集群上运行,所以我不确定在复制文件时如何引用本地计算机。方法 copyFromLocalFile(..) 需要来自本地机器的路径,该路径将是 EC2 集群......

我不确定我是否正确地陈述了问题,有人能理解我的意思吗?

谢谢

4

2 回答 2

1

您还可以调查 s3distcp:http ://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_s3distcp.html

Apache DistCp 是一个开源工具,可用于复制大量数据。DistCp 使用 MapReduce 以分布式方式进行复制——在多个服务器之间共享复制、错误处理、恢复和报告任务。S3DistCp 是 DistCp 的扩展,经过优化可与 Amazon Web Services,尤其是 Amazon Simple Storage Service (Amazon S3) 一起使用。使用 S3DistCp,您可以高效地将大量数据从 Amazon S3 复制到 HDFS 中,并由您的 Amazon Elastic MapReduce (Amazon EMR) 作业流处理。您还可以使用 S3DistCp 在 Amazon S3 存储桶之间或从 HDFS 复制数据到 Amazon S3。

于 2012-03-15T13:55:55.420 回答
0

您需要将文件从 userMachine 获取到至少 1 个节点,然后才能通过 MapReduce 使用它们。

FileSystemFileUtil功能指的是集群中节点之一的本地磁盘或本地磁盘上的路径HDFS。它不能引用用户的本地系统。(也许如果你做了一些 ssh 设置......也许?)

于 2011-02-02T18:43:17.253 回答