我正在運行CDH4.5。我試圖使用distcp s3n,但自從我升級到4.5後就遇到了問題。 我試圖讓s3distcp啓動並運行,但正在解決問題。我下載了它,並正在運行以下命令:s3distcp不適用於我CDH4.5
hadoop jar /usr/lib/hadoop/lib/s3distcp.jar --src hdfs://NN:8020/path/to/destination/folder --dest s3n://acceseKeyId:[email protected]/destination/
,但我得到的錯誤:
INFO mapred.JobClient: map 100% reduce 0%
INFO mapred.JobClient: Task Id : attempt_201312042223_10889_r_000001_0, Status : FAILED
Error: java.lang.ClassNotFoundException: com.amazonaws.services.s3.AmazonS3
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at com.amazon.external.elasticmapreduce.s3distcp.CopyFilesReducer.executeDownloads(CopyFilesReducer.java:209)
at com.amazon.external.elasticmapreduce.s3distcp.CopyFilesReducer.reduce(CopyFilesReducer.java:196)
at com.amazon.external.elasticmapreduce.s3distcp.CopyFilesReducer.reduce(CopyFilesReducer.java:30)
at org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:506)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:447)
at org.apache.hadoop.mapred.Child$4.run(Child.java:268)
at java.security.AccessController.doPrivileged(Native Method)
at javax
INFO mapred.JobClient: Job Failed: NA
13/12/12 13:55:25 INFO s3distcp.S3DistCp: Try to recursively delete hdfs:/tmp/985ffdb0-1bc8-4d00-aba6-fd9b18e905f1/tempspace
Exception in thread "main" java.lang.RuntimeException: Error running job
at com.amazon.external.elasticmapreduce.s3distcp.S3DistCp.run(S3DistCp.java:586)
at com.amazon.external.elasticmapreduce.s3distcp.S3DistCp.run(S3DistCp.java:216)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
at com.amazon.external.elasticmapreduce.s3distcp.Main.main(Main.java:12)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:208)
Caused by: java.io.IOException: Job failed!
at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1388)
at com.amazon.external.elasticmapreduce.s3distcp.S3DistCp.run(S3DistCp.java:568)
我然後把快捷鍵和身份證到我的核心-site.xml中的所有數據和名稱節點:
<property>
<name>fs.s3.awsSecretAccessKey</name>
<value>bippitybopityboo</value>
</property>
<property>
<name>fs.s3.awsAccessKeyId</name>
<value>supercalifragilisticexpialadoscious</value>
</property>
<property>
<name>fs.s3n.awsSecretAccessKey</name>
<value>bippitybopityboo</value>
</property>
<property>
<name>fs.s3n.awsAccessKeyId</name>
<value>supercalifragilisticexpialadoscious</value>
</property>
,仍然得到了同樣的錯誤,當我試圖這樣的:
hadoop jar /usr/lib/hadoop/lib/s3distcp.jar --src hdfs://NN:8020/path/to/destination/folder --dest s3n://mybucket/destination/
有一些配置我應該做,或者我錯過了一些jar文件或執行不正確?
感謝您的任何幫助