Was ist die Bedeutung des EOF-exceptions in hadoop namenode-verbindungen von hbase/Dateisystem?
Dies ist sowohl eine Allgemeine Frage zu java EOF Ausnahmen, sowie Hadoop ist EOF-exception, die mit jar-Interoperabilität. Kommentare und Antworten zum Thema entweder akzeptabel sind.
Hintergrund
Ich bin, wenn es einige threads welche über eine kryptische exception, die letztlich verursacht durch eine "readInt" - Methode. Diese Ausnahme scheint einige Allgemeine Implikationen, die unabhängig von hadoop, aber letztlich ist verursacht durch Interoperabilität von Hadoop-Gläser.
In meinem Fall, ich erhalte es, wenn ich versuchen, erstellen Sie ein neues Dateisystem-Objekt in hadoop in java.
Frage
Meine Frage ist : Was ist passiert und warum ist das Lesen einer ganzen Zahl werfen eine EOF-exception ? Was "Datei" ist das EOF-exception beziehen, und warum sollte eine exception geworfen werden, wenn zwei Gläser sind nicht in der Lage, die Interoperabilität ?
Sekundär, würde ich auch gerne wissen, wie man diese Fehler beheben, damit ich mich verbinden kann und Lesen/schreiben hadoops Dateisystem unter Verwendung des hdfs-Protokoll mit der java-api, Remote....
java.io.IOException: Aufruf /10.0.1.37:50070 nicht auf lokale exception: java.io.EOFException bei org.apache.hadoop.ipc.Client.wrapException(Client.java:1139) bei org.apache.hadoop.ipc.Client.Aufruf(Client.java:1107) bei org.apache.hadoop.ipc.RPC$Invoker.aufrufen(RPC.java:226) bei $Proxy0.getProtocolVersion(Quelle Unbekannt) bei org.apache.hadoop.ipc.RPC.getProxy(RPC.java:398) bei org.apache.hadoop.ipc.RPC.getProxy(RPC.java:384) bei org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:111) bei org.apache.hadoop.hdfs.DFSClient.(DFSClient.java:213) bei org.apache.hadoop.hdfs.DFSClient.(DFSClient.java:180) bei org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:89) bei org.apache.hadoop.fs.Dateisystem.createFileSystem(FileSystem.java:1514) bei org.apache.hadoop.fs.Dateisystem.access$200(FileSystem.java:67) bei org.apache.hadoop.fs.Dateisystem$Cache.getInternal(FileSystem.java:1548) bei org.apache.hadoop.fs.Dateisystem$Cache.bekommen(das Dateisystem.java:1530) bei org.apache.hadoop.fs.Dateisystem.bekommen(das Dateisystem.java:228) bei sb.HadoopRemote.main(HadoopRemote.java:35) Verursacht durch: java.io.EOFException bei java.io.DataInputStream.readInt(DataInputStream.java:375) bei org.apache.hadoop.ipc.Client$ - Verbindung.receiveResponse(Client.java:819) bei org.apache.hadoop.ipc.Client$ - Verbindung.laufen(Client.java:720)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bezug auf hadoop : ich habe den Fehler behoben ! Sie müssen sicherstellen, dass die core-site.xml dient zum 0.0.0.0 statt 127.0.0.1(localhost).
Wenn du die EOF-exception, es bedeutet, dass der port nicht von außen zugänglich auf der ip, so gibt es keine Daten zu Lesen, die zwischen der hadoop-client /server-ipc.
<name>fs.default.name</name> <value>hdfs://localhost:9000/</value>
. Ändern Sie diese Einstellung auslocalhost
zu0.0.0.0
löst nicht das problem.EOFException
BEDEUTET NICHTS dergleichen. Wenn SieEOFException
gibt es bereits einen Anschluss, der gekündigt wurde, in der Regel durch einen peer, was bedeutet, dass der Anschluss zugänglich ist, und dass eine Folge von SYN-SYN/ACK-ACK-...FIN-FIN/ACK wurde gesendet, die als mindestens sieben erfolgreiche TCP-segment Börsen, von denen keine wäre möglich gewesen, wenn der Anschluss war nicht erreichbar.EOFException auf einer Buchse bedeutet, dass es keine Daten mehr und der peer hat die Verbindung geschlossen.