복붙노트

[HADOOP] hbase / filesystem의 hadoop namenode 연결에서 EOF 예외의 의미는 무엇입니까?

HADOOP

hbase / filesystem의 hadoop namenode 연결에서 EOF 예외의 의미는 무엇입니까?

이것은 Java EOF 예외에 대한 일반적인 질문과 jar 상호 운용성과 관련된 Hadoop의 EOF 예외입니다. 두 주제 중 하나에 대한 설명과 대답은 허용됩니다.

배경

나는 궁극적으로 "readInt"메소드에 의해 발생하는 암시적인 예외를 논의하는 일부 스레드에 주목하고 있습니다. 이 예외에는 hadoop과 독립적이지만 궁극적으로 Hadoop 항아리의 상호 운용성 때문에 발생하는 일반적인 의미가 있습니다.

필자가 자바에서 hadoop에 새로운 FileSystem 객체를 만들려고 할 때 나는 그것을 얻고있다.

의문

내 질문은 : 무슨 일이 일어나고 왜 정수 읽기가 EOF 예외를 던집니까? 두 개의 jar가 상호 운용 할 수 없다면,이 EOF 예외는 무엇을 말하는 "File"이며, 왜 그런 예외가 발생합니까?

이차적으로, 나는 또한 원격으로 자바 API와 함께 hdfs 프로토콜을 사용하여 hadoops 파일 시스템에 연결하고 읽고 쓸 수 있도록이 오류를 수정하는 방법을 알고 싶다.

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)

해결법

  1. ==============================

    1.hadoop에 관해서 : 나는 오류를 해결했습니다! core-site.xml이 127.0.0.1 (localhost) 대신 0.0.0.0으로 제공되는지 확인해야합니다.

    hadoop에 관해서 : 나는 오류를 해결했습니다! core-site.xml이 127.0.0.1 (localhost) 대신 0.0.0.0으로 제공되는지 확인해야합니다.

    EOF 예외가 발생하면 해당 포트에서 외부에서 포트에 액세스 할 수 없으므로 hadoop 클라이언트 / 서버 ipc간에 읽을 데이터가 없습니다.

  2. ==============================

    2.소켓의 EOFException은 더 이상 데이터가없고 피어가 연결을 종료했음을 의미합니다.

    소켓의 EOFException은 더 이상 데이터가없고 피어가 연결을 종료했음을 의미합니다.

  3. from https://stackoverflow.com/questions/7949058/what-is-the-meaning-of-eof-exceptions-in-hadoop-namenode-connections-from-hbase by cc-by-sa and MIT license