Hadoop distcp命令使用不同的S3目标

时间:2014-10-10 02:01:50

标签: hadoop amazon-s3 hdfs eucalyptus distcp

我正在使用Eucalyptus私有云,我已经在其上设置了CDH5 HDFS。我想将我的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命令。

1 个答案:

答案 0 :(得分:0)

看起来hadoop正在使用jets3t库进行S3访问。您可以使用in this blog描述的配置来访问eucalyptus,但请注意,对于版本4,路径为“/ services / objectstorage”而不是“/ services / Walrus”。

相关问题