2013-07-21 61 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> 

,並重新啓動集羣