0

我正在尝试使用以下命令将 NCDC 数据从 Amazon S3 复制到我的本地 hadoop 集群。

hadoop distcp -Dfs.s3n.awsAccessKeyId='ABC' -Dfs.s3n.awsSecretAccessKey='XYZ' s3n://hadoopbook/ncdc/all input/ncdc/all

并得到下面给出的错误:

java.lang.IllegalArgumentException: AWS Secret Access Key must be specified as           the password of a s3n URL, or by setting the fs.s3n.awsSecretAccessKey property

完成了以下问题,但没有太大帮助。

复制本地数据的问题

有关如何解决问题的任何提示。非常感谢详细的答案,以便更好地理解。谢谢

4

2 回答 2

1

你有没有试过这个:

摘自AmazonS3 Wiki

这是一个示例,将 hdfs 中 /user/nutch 中名为 0070206153839-1998 的 nutch 段复制到名为“nutch”的 S3 存储桶中(假设 S3 AWS_ACCESS_KEY_ID 为 123,S3 AWS_ACCESS_KEY_SECRET 为 456):

% ${HADOOP_HOME}/bin/hadoop distcp hdfs://domU-12-31-33-00-02-DF:9001/user/nutch/0070206153839-1998 s3://123:456@nutch/

在你的情况下,它应该是这样的:

hadoop distcp s3n://ABC:XYZ@hadoopbook/ncdc/all hdfs://IPaddress:port/input/ncdc/all
于 2013-07-21T23:48:45.740 回答
0

您需要在 core-site.xml 中设置 aws id 和密码

<property>
<name>fs.s3n.awsAccessKeyId</name>
<value>xxxxxxx</value>
</property>
<property>
<name>fs.s3n.awsSecretAccessKey</name>
<value>xxxxxxxxx</value>
</property>

并重新启动您的集群

于 2014-04-30T10:30:41.470 回答