Это как общий вопрос об исключениях Java EOF, так и об исключении EOF Hadoop, которое связано с совместимостью jar. Комментарии и ответы по любой теме приемлемы.
Предпосылки
Я обращаю внимание на некоторые потоки, в которых обсуждается загадочное исключение, которое в конечном итоге вызвано методом «readInt». Это исключение, по-видимому, имеет некоторые общие последствия, которые не зависят от hadoop, но в конечном итоге вызвано совместимостью jar-файлов Hadoop.
В моем случае я получаю это, когда пытаюсь создать новый объект FileSystem в hadoop, в java.
Вопрос
Мой вопрос: что происходит и почему чтение целого числа вызывает исключение EOF? К какому «файлу» относится это исключение EOF и почему должно быть выброшено такое исключение, если два jar-файла не могут взаимодействовать?
Во-вторых, я также хотел бы знать, как исправить эту ошибку, чтобы я мог подключаться и читать / записывать файловую систему hadoops, используя протокол hdfs с java api, удаленно ....
java.io.IOException: Call to /10.0.1.37:50070 failed on local exception: java.io.EOFException at org.apache.hadoop.ipc.Client.wrapException(Client.java:1139) at org.apache.hadoop.ipc.Client.call(Client.java:1107) at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:226) at $Proxy0.getProtocolVersion(Unknown Source) at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:398) at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:384) at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:111) at org.apache.hadoop.hdfs.DFSClient.(DFSClient.java:213) at org.apache.hadoop.hdfs.DFSClient.(DFSClient.java:180) at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:89) at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1514) at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:67) at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:1548) at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1530) at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:228) at sb.HadoopRemote.main(HadoopRemote.java:35) Caused by: java.io.EOFException at java.io.DataInputStream.readInt(DataInputStream.java:375) at org.apache.hadoop.ipc.Client$Connection.receiveResponse(Client.java:819) at org.apache.hadoop.ipc.Client$Connection.run(Client.java:720)