2014-05-21 5 views
5

Wir führen einen Workflow in Oozie. Es enthält zwei Aktionen: Die erste ist ein Map Reduce-Job, der Dateien in den hdfs erzeugt, und der zweite ist ein Job, der die Daten in den Dateien in eine Datenbank kopieren soll.IOException: Dateisystem geschlossen Ausnahme beim Ausführen von Oozie Workflow

Beide Teile sind erfolgreich, aber oozie löst am Ende eine Ausnahme aus, die es als fehlgeschlagenen Prozess kennzeichnet.

Dies ist die Ausnahme:

2014-05-20 17:29:32,242 ERROR org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException as:lpinsight (auth:SIMPLE) cause:java.io.IOException: Filesystem closed 
2014-05-20 17:29:32,243 WARN org.apache.hadoop.mapred.Child: Error running child 
java.io.IOException: Filesystem closed 
    at org.apache.hadoop.hdfs.DFSClient.checkOpen(DFSClient.java:565) 
    at org.apache.hadoop.hdfs.DFSInputStream.close(DFSInputStream.java:589) 
    at java.io.FilterInputStream.close(FilterInputStream.java:155) 
    at org.apache.hadoop.util.LineReader.close(LineReader.java:149) 
    at org.apache.hadoop.mapred.LineRecordReader.close(LineRecordReader.java:243) 
    at org.apache.hadoop.mapred.MapTask$TrackedRecordReader.close(MapTask.java:222) 
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:421) 
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:332) 
    at org.apache.hadoop.mapred.Child$4.run(Child.java:268) 
    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:1408) 
    at org.apache.hadoop.mapred.Child.main(Child.java:262) 

2014-05-20 17: 29: 32.256 INFO org.apache.hadoop.mapred.Task: Runnning Bereinigung für die Aufgabe

Jede Idee?

Antwort

7

Verwenden Sie die folgende Konfiguration beim Zugriff auf das Dateisystem.

Configuration conf = new Configuration(); 
conf.setBoolean("fs.hdfs.impl.disable.cache", true); 
FileSystem fileSystem = FileSystem.get(conf); 
2

Ich hatte ein ähnliches Problem, das java.io.IOException: Filesystem closed aufgefordert wurde. Schließlich habe ich festgestellt, dass ich das Dateisystem irgendwo anders geschlossen habe. Die Hadoop-Dateisystem-API gibt das gleiche Objekt zurück. Wenn ich also ein Dateisystem geschlossen habe, sind alle Dateisysteme geschlossen. Ich bekomme die Lösung von diesem answer

Verwandte Themen