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

mrwjdhj3  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(281)

我使用的是sqoop1.4.3-cdh4.3.0。当我使用 -password-file 我有个例外。

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密码时,它工作得很好。
我不知道我能做些什么来解决这个问题。我看过好几个帖子建议启用 fs.hdfs.impl.disable.cache 但我不知道这会对性能等产生什么影响。

5sxhfpxr

5sxhfpxr1#

我在使用oozie,所以在oozie中我设置了job属性 fs.hdfs.impl.disable.cache . 解决了这个问题。
幸运的是,我们的Map绘制人员没有一个使用fs。我想如果你用fs( fs = FileSystem.get(conf) )然后,我们可能不得不检查并确保这些fs中的每一个都是关闭的(因为每次我们调用 get 它将返回一个新示例)。

相关问题