hdfs 읽기 파일 출발java.io.EOFException 예외

1989 단어 hdfseof
[2014-05-05 17:42:51] [main] DEBUG - Error making BlockReader. Closing stale NioInetPeer(Socket[addr=/XXXXX,port=50010,localport=55897]) 
java.io.EOFException: Premature EOF: no length prefix available
at org.apache.hadoop.hdfs.protocol.HdfsProtoUtil.vintPrefixed(HdfsProtoUtil.java:171)
at org.apache.hadoop.hdfs.RemoteBlockReader2.newBlockReader(RemoteBlockReader2.java:383)
at org.apache.hadoop.hdfs.BlockReaderFactory.newBlockReader(BlockReaderFactory.java:136)
at org.apache.hadoop.hdfs.DFSInputStream.getBlockReader(DFSInputStream.java:993)
at org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:471)
at org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:662)
at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:706)
at java.io.DataInputStream.read(DataInputStream.java:132)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
 
	FSDataInputStream is = fs.open(fileStatus.getPath());

	BufferedReader br = new BufferedReader(
								new InputStreamReader(is));

	String line = null;
	while ((line = br.readLine()) != null) {XXXX;// 
}

 
결과에 영향을 주지 않지만 hdfs를 직접 조작하는 이유는 일반 파일reader와 달리 이 이상이 있을 수 있습니다.
 
코드 예외:
 public static InputStream vintPrefixed(final InputStream input)
  throws IOException {
    final int firstByte = input.read();
    if (firstByte == -1) {
      throw new EOFException("Premature EOF: no length prefix available");
    }

좋은 웹페이지 즐겨찾기