【发布时间】:2011-02-11 07:42:27
【问题描述】:
我使用 ruby 客户端运行我的应用程序: ruby elastic-mapreduce -j j-20PEKMT9BRSUC --jar s3n://sakae55/lib/edu.cit.som.jar --main-class edu.cit.som.hadoop.SOMDriver --arg s3n://sakae55/ repository/input/ecoli/ --arg s3n://sakae55/repository/output/ecoli/pl/ --arg s3n://sakae55/repository/data/ecoli/som.txt
然后,我看到以下错误:
java.lang.IllegalArgumentException: 此文件系统对象 (file:///) 不支持访问请求路径 'hdfs://i -10-195-207-230.ec2.internal:9000/mnt/var/lib/hadoop/tmp/mapred/system/job_201004221221_0017/job.jar' 你可能打电话给 Fi eSystem.get(conf) 当您应该调用 FileSystem.get(uri, conf) 来获取支持您的路径的文件系统时。 在 org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:320) 在 org.apache.hadoop.fs.RawLocalFileSystem.pathToFile(RawLocalFileSystem.java:52) 在 org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:416) 在 org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:259) 在 org.apache.hadoop.fs.FileSystem.isDirectory(FileSystem.java:676) 在 org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:200) 在 org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:1184) 在 org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:1160) 在 org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:1132) 在 org.apache.hadoop.mapred.JobClient.configureCommandLineOptions(JobClient.java:662) 在 org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:729) 在 org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1026) 在 edu.cit.som.hadoop.SOMDriver.runIteration(SOMDriver.java:106) 在 edu.cit.som.hadoop.SOMDriver.train(SOMDriver.java:69) 在 edu.cit.som.hadoop.SOMDriver.run(SOMDriver.java:52) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79) 在 edu.cit.som.hadoop.SOMDriver.main(SOMDriver.java:36) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.hadoop.util.RunJar.main(RunJar.java:155) 在 org.apache.hadoop.mapred.JobShell.run(JobShell.java:54) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79) 在 org.apache.hadoop.mapred.JobShell.main(JobShell.java:68)
我不确定为什么错误引用了“file:///”,即使我传递的所有参数都不使用架构。
【问题讨论】: