Hadoop: Fehler in der Konfiguration-Objekt
Ich versuche zu laufen, das Terasort-benchmarks und ich bekomme die folgende exception:
java.lang.RuntimeException: Error in configuring object
at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:93)
at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:64)
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
at org.apache.hadoop.mapred.MapTask$OldOutputCollector.<init>(MapTask.java:573)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:435)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:371)
at org.apache.hadoop.mapred.Child$4.run(Child.java:259)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)
at org.apache.hadoop.mapred.Child.main(Child.java:253)
Caused by: java.lang.reflect.InvocationTargetException
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.ReflectionUtils.setJobConf(ReflectionUtils.java:88)
... 10 more
Caused by: java.lang.IllegalArgumentException: can't read paritions file
at org.apache.hadoop.examples.terasort.TeraSort$TotalOrderPartitioner.configure(TeraSort.java:213)
... 15 more
Caused by: java.io.FileNotFoundException: File _partition.lst does not exist.
at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:371)
at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:245)
at org.apache.hadoop.fs.FileSystem.getLength(FileSystem.java:720)
at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1417)
at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1412)
at org.apache.hadoop.examples.terasort.TeraSort$TotalOrderPartitioner.readPartitions(TeraSort.java:153)
at org.apache.hadoop.examples.terasort.TeraSort$TotalOrderPartitioner.configure(TeraSort.java:210)
... 15 more
Die TeraGen-Befehle problemlos ausführen und erstellen der input-Dateien für das TeraSort. Hier ist die Liste meiner Eingabe Verzeichnis:
bin/hadoop fs -ls /user/hadoop/terasort-input/Warning: Maximum heap size rounded up to 1024 MB
Found 5 items
-rw-r--r-- 1 sqatest supergroup 0 2012-01-23 14:13 /user/hadoop/terasort-input/_SUCCESS
drwxr-xr-x - sqatest supergroup 0 2012-01-23 13:30 /user/hadoop/terasort-input/_logs
-rw-r--r-- 1 sqatest supergroup 129 2012-01-23 15:49 /user/hadoop/terasort-input/_partition.lst
-rw-r--r-- 1 sqatest supergroup 50000000000 2012-01-23 13:30 /user/hadoop/terasort-input/part-00000
-rw-r--r-- 1 sqatest supergroup 50000000000 2012-01-23 13:30 /user/hadoop/terasort-input/part-00001
Hier ist mein Befehl für die Ausführung des terasort:
bin/hadoop jar hadoop-examples-0.20.203.0.jar terasort -libjars hadoop-examples-0.20.203.0.jar /user/hadoop/terasort-input /user/hadoop/terasort-output
Sehe ich die Datei _partition.lst in meinem Eingangsordner, ich verstehe nicht, warum mir immer die FileNotFoundException.
Folgte ich dem setup-details an: http://www.michael-noll.com/blog/2011/04/09/benchmarking-and-stress-testing-an-hadoop-cluster-with-terasort-testdfsio-nnbench-mrbench/
Es ist die Suche in RawLocalFileSystem nicht in DistributedFileSystem. Sie sind auf die Bereitstellung der namenodes-Adresse in der Konfiguration?
Wo kann ich das machen? Vor der Ausführung von TeraSort, lief ich TeraGen, die erfolgreich abgeschlossen, so dass ich davon ausgegangen, dass die Konfiguration korrekt ist. Wie kann ich das überprüfen?
Wo kann ich das machen? Vor der Ausführung von TeraSort, lief ich TeraGen, die erfolgreich abgeschlossen, so dass ich davon ausgegangen, dass die Konfiguration korrekt ist. Wie kann ich das überprüfen?
InformationsquelleAutor Chander Shivdasani | 2012-01-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich diese arbeiten wie folgt:
Ich bin mit im lokalen Modus aus meiner hadoop-Basis-Verzeichnis, hadoop-1.0.0 mit einer Eingangs-Unterverzeichnis, und ich bekomme den gleichen Fehler, den Sie tun.
Bearbeitete ich die fehlerhafte java-Datei, um es zu bekommen, log Sie den Pfad anstatt des Dateinamens, der es wieder aufbaute ("ant binary"), und reran. Er war auf der Suche für die Datei in das Verzeichnis, ich lief aus. Ich habe keine Ahnung, ob es war auf der Suche in den hadoop-base-dir oder der Ausführung verz.
...also habe ich einen symbolischen link in dem Verzeichnis ausführen ich terasort, indem Sie die Reale Datei im input-Verzeichnis.
Es ist ein Billig hack, aber es funktioniert.
InformationsquelleAutor tbroberg
Das problem auftrat, weil ich war die Bereitstellung der job auf einem NFS. Ich habe die hadoop.tmp.dir zu zeigen Sie es auf einem lokalen Dateisystem(/tmp) und das problem verschwand im Handumdrehen.
InformationsquelleAutor Chander Shivdasani
Haben Sie setup ausführen, in pseudo-distributed mode (oder einen echten cluster)? Es sei denn, Sie konfigurieren Hadoop, es läuft in den lokalen job-runner-Modus (wie Bibliotheken innerhalb eines einzelnen Prozesses) - Terasort funktioniert NICHT in LocalJobRunner-Modus. Nach dem Wort " LocalJobRunner in der Ausgabe zu prüfen.
Hier ist ein link zu setup HDFS, SSH und rsync:
http://hadoop.apache.org/docs/r1.1.1/single_node_setup.html#PseudoDistributed
InformationsquelleAutor Serge Merzliakov
Ich bin mit cloudera CDH4. vor ähnlichen Problem mit meinem anderen hadoop-Programm.
glaube, die Fragen über die Anbindung von externen Bibliotheken.
Das Programm war in Ordnung, die in Eclipse (lokaler Modus), aber als ich versuchte, führen Sie es in pseudo-distributed mode, bekam diese Fehlermeldung.
Temporäre Lösung:
- Erstellt eine jar-Datei aus Eclipse mit der Bibliothek Umgang mit der option - kopieren Sie die benötigten Bibliotheken in einem Unterordner neben der erzeugten JAR.
- Kopiert die JAR-Datei hadoop-home-Verzeichnis (der Pfad, in dem hadoop-exampls.jar Dateien platziert wird)
mit diesem Update in der Lage bin zu laufen, die hadoop-Programm mit Fehlern.
hoffe, das wird helfen,
InformationsquelleAutor Gopal