[HADOOP] hbase / filesystem의 hadoop namenode 연결에서 EOF 예외의 의미는 무엇입니까?
HADOOPhbase / 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.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.소켓의 EOFException은 더 이상 데이터가없고 피어가 연결을 종료했음을 의미합니다.
소켓의 EOFException은 더 이상 데이터가없고 피어가 연결을 종료했음을 의미합니다.
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
'HADOOP' 카테고리의 다른 글
[HADOOP] 로깅 기능을 사용하더라도 내 원사 응용 프로그램에 로그가없는 이유는 무엇입니까? (0) | 2019.07.12 |
---|---|
[HADOOP] webhdfs에 대한 http 요청이지만 서버의 응답 없음 (0) | 2019.07.12 |
[HADOOP] 하이브 : SELECT AS 및 GROUP BY (0) | 2019.07.12 |
[HADOOP] Hbase : Hbase 마스터에 대한 호스트 이름을 지정하는 방법 (0) | 2019.07.12 |
[HADOOP] PIG의 모든 레코드 집합에 대한 최대 / 최소 (0) | 2019.07.12 |