2010-04-22 6 views
2

Je lance mon application en utilisant le client 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/entrée/ecoli/--arg s3n: // sakae55/repository/sortie/ecoli/pl/--arg s3n: // sakae55 /repository/data/ecoli/som.txtAmazon Elastic MapReduce: Exception de FileSystem

Alors, je vois l'erreur suivante:

java.lang.IllegalArgumentException: Cet objet système de fichiers (file: ///) ne prend pas en charge l'accès au demande le chemin 'hdfs: // i -10-195-207-230.ec2.internal: 9000/mnt/var/lib/hadoop/tmp/mapred/système/job_20100422122 1_0017/job.jar 'Vous avez probablement appelé Fi eSystem.get (conf) alors que vous devriez appeler FileSystem.get (uri, conf) pour obtenir un système de fichiers supportant votre chemin. à 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 (méthode native) à sun.reflect.N ativeMethodAccessorImpl.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)

Je suis Je ne sais pas pourquoi l'erreur fait référence à "file: ///" même si tous les arguments que je passe n'utilisent pas le schéma.

Répondre

1

Il s'est avéré que la réutilisation de l'objet JobConf était à l'origine de ce problème. Changer le code pour créer une nouvelle instance pour chaque itération a résolu le problème.

Questions connexes