2013-07-21 60 views
0

我试图使用以下命令将NCDC数据从Amazon S3复制到本地hadoop群集。无法将NCDC数据从Amazon AWS复制到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 

经历了以下问题,但没有很大的帮助。

Problem with Copying Local Data

关于如何解决这个问题的任何暗示。详细的答案将非常感激,为更好的理解。由于

回答

1

你有没有尝试过这样的:

摘自AmazonS3 Wiki

下面是一个例子复制在HDFS在 /用户/ Nutch的命名0070206153839-1998到S3存储一个Nutch的段名为“Nutch的'(让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 /用户/的nutch/0070206153839- 1998年 S3:// 123:456 @的Nutch/

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

hadoop distcp s3n://ABC:[email protected]/ncdc/all hdfs://IPaddress:port/input/ncdc/all 
0

你需要建立在核心 - AWS的ID和密码SITE.XML

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

,并重新启动集群