Sqoop 1.4.3-cdh4.3.0 を使用しています。オプションを使用して sqoop を実行する-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) を閉じているように見えます。クリアケースのパスワードを使用すると正常に機能するため、上記の例外が発生するのはそのためだと思います。
この問題を解決するために何ができるかわかりません。有効にすることを提案するいくつかの投稿を見てきましたが fs.hdfs.impl.disable.cache
、これがパフォーマンスなどにどのような影響を与えるかはわかりません.