SQOOP-password file选项关闭文件系统引用,导致java.io.IOException:filesystem closed

SQOOP-password file选项关闭文件系统引用,导致java.io.IOException:filesystem closed,java,hadoop,hdfs,sqoop,Java,Hadoop,Hdfs,Sqoop,我使用的是SQOOP1.4.3-cdh4.3.0。当我使用-password file选项运行sqoop时,我得到一个异常 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)

我使用的是SQOOP1.4.3-cdh4.3.0。当我使用
-password file
选项运行sqoop时,我得到一个异常

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:181)
    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:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1408)
    at org.apache.hadoop.mapred.Child.main(Child.java:262)
2013-11-01 20:32:43,471 INFO org.apache.hadoop.mapred.Task: Runnning cleanup for the task
查看他们的文件,看起来他们正在关闭文件系统句柄(fetchPasswordFromFlie)。我在想,这就是为什么我会出现上述异常,因为当我使用clear case password时,它工作得很好


我不知道我能做些什么来解决这个问题。我看过几篇帖子建议启用
fs.hdfs.impl.disable.cache
,但我不知道这会对性能产生什么影响,等等。

我正在使用oozie,所以在oozie中我设置了作业属性
fs.hdfs.impl.disable.cache
。解决了这个问题

幸运的是,这项工作没有我们的制图员使用fs。我认为,如果确实使用了fs(
fs=FileSystem.get(conf)
),那么我们可能必须检查并确保每个fs都已关闭(因为每次调用
get
时,它都会返回一个新实例)