2014-05-21 52 views
5

我們正在運行oozie中的工作流程。 它包含兩個操作:第一個是在hdfs中生成文件的map reduce作業,第二個是應該將文件中的數據複製到數據庫的作業。IOException:運行oozie工作流程時文件系統關閉異常

兩部分都成功完成,但oozie在結尾處引發異常,將其標記爲失敗進程。

這是例外:

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年5月20日17:29:32,256 INFO org.apache.hadoop.mapred.Task:捉迷藏清理的任務

任何想法?

回答

7

訪問文件系統時使用以下配置。

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

我遇到了類似的問題,提示java.io.IOException: Filesystem closed。最後,我發現我在其他地方關閉了文件系統。 hadoop文件系統API返回相同的對象。所以如果我關閉了一個文件系統,那麼所有的文件系統都關閉了。 我從這裏得到解決方案answer