java – 需要协助运行Map减少WordCount作业与存储在amazon s3上
发布时间:2020-12-15 08:49:48 所属栏目:Java 来源:网络整理
导读:我正在尝试在我存储在Amazon s3上的存储桶中的文本文件上运行Map reduce WordCount作业.我已经为map reduce框架设置了所有必需的身份验证以与Amazon通信,但我继续运行此错误.知道为什么会这样吗? 13/01/20 13:22:15 ERROR security.UserGroupInformation:Pr
我正在尝试在我存储在Amazon s3上的存储桶中的文本文件上运行Map reduce WordCount作业.我已经为map reduce框架设置了所有必需的身份验证以与Amazon通信,但我继续运行此错误.知道为什么会这样吗?
13/01/20 13:22:15 ERROR security.UserGroupInformation: PriviledgedActionException as:root cause:org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: s3://name-bucket/test.txt Exception in thread "main" org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: s3://name-bucket/test.txt at org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:197) at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:208) at org.apache.hadoop.mapred.JobClient.writeOldSplits(JobClient.java:989) at org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:981) at org.apache.hadoop.mapred.JobClient.access$600(JobClient.java:174) at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:897) at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:850) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:416) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:850) at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:824) at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1261) at org.myorg.WordCount.main(WordCount.java:55) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.apache.hadoop.util.RunJar.main(RunJar.java:156) 解决方法
实际上你必须用s3n替换协议s3.这些是具有不同属性的2个不同文件系统:
> s3n是s3 Native Filesystem:用于在S3上读写常规文件的本机文件系统.此文件系统的优点是您可以访问使用其他工具编写的S3上的文件.相反,其他工具可以访问使用Hadoop编写的文件.缺点是S3强加的文件大小限制为5GB.因此,它不适合替代HDFS(它支持非常大的文件). (source) 在你的情况下你的桶可能正在使用s3n文件系统,我相信这是默认的,我使用的大多数桶也是s3n.所以你应该使用s3n://name-bucket/test.txt (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |