0

我正在使用已在其上设置 CDH5 HDFS 的 Eucalyptus 私有云。我想将我的 HDFS 备份到 Eucalyptus S3。此处建议使用 distcp 的经典方法:http ://wiki.apache.org/hadoop/AmazonS3 ,即hadoop distp hdfs://namenode:9000/user/foo/data/fil1 s3://$AWS_ACCESS_KEY:$AWS_SECRET_KEY@bucket/key不起作用。

似乎 hadoop 已在 Amazon 上预先配置了 S3 位置,我找不到此配置在哪里,以便将其更改为我在 Eucalyptus 上运行的 S3 服务的 IP 地址。我希望能够以与使用 hdfs:// 前缀时更改 NameNode uri 相同的方式更改 S3 的 uri。但似乎这是不可能的......有什么见解吗?

我已经找到了传输数据的解决方法。特别是这里的 s3cmd 工具:https ://github.com/eucalyptus/eucalyptus/wiki/HowTo-use-s3cmd-with-Eucalyptus和这里的 s3curl 脚本:aws.amazon.com/developertools/Amazon-S3/2880343845151917 工作很好,但如果我可以使用 map-reduce 和 distcp 命令传输我的数据,我会更喜欢。

4

1 回答 1

0

看起来 hadoop 正在使用 jets3t 库进行 S3 访问。您也许可以使用本博客中描述的配置来访问 eucalyptus,但请注意,对于版本 4 及更高版本,路径是“/services/objectstorage”而不是“/services/Walrus”。

于 2014-10-15T00:53:44.747 回答