`

hdfs读取文件出发java.io.EOFException异常

阅读更多

[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");

    }

分享到:
评论

相关推荐

    4-hdfs-javaapi配置.txt

    4-hdfs-javaapi配置.txt4-hdfs-javaapi配置.txt4-hdfs-javaapi配置.txt4-hdfs-javaapi配置.txt4-hdfs-javaapi配置.txt

    Hadoop分布式文件系统HDFS的实战的Hdfs.java

    Hadoop分布式文件系统HDFS的实战,需要的Hdfs.java文件 public static void main(String[] args) throws Exception { //上传文件到hadoop uploadFile(); createFile(); createDir(); fileRename(); deleteFile...

    第4章 HDFS 2 4.1. 简介 2 4.1.1. 概述 2 4.1.2. 组成架构 4 4.1.3. HDFS文件块大小

    4.3.6. 编写Java代码——向HDFS文件系统创建文件夹 24 4.3.7. 编写Java代码——文件上传 27 4.3.8. 编写Java代码——删除文件夹 30 4.3.9. 编写Java代码——重命名文件 31 4.3.10. 编写Java代码——遍历文件夹 32 ...

    02--HDFS Java API操作.docx

    Java API 是 HDFS 的一个编程接口,允许开发者使用 Java 语言来操作 HDFS 中的文件和目录。本文将介绍如何使用 HDFS Java API 实现文件下载和上传操作。 一、HDFS Java API 概述 HDFS Java API 是 Hadoop 中的一...

    分布式存储系统:HDFS:HDFS数据流读取流程.docx

    分布式存储系统:HDFS:HDFS数据流读取流程.docx

    hadoop-hdfs-test-0.21.0.jar

    hadoop-hdfs-test-0.21.0.jar

    用java读取txt文件和xml文件

    在Java中,我们可以使用`java.io`包中的`BufferedReader`类来读取文本文件。以下是一个简单的示例: ```java import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public ...

    Hadoop HDFS文件系统技术概述.pptx

    Hadoop HDFS文件系统技术概述 Hadoop Distributed File System(HDFS)是一种分布式文件系统,旨在提供高容错、可靠、可扩展的文件存储解决方案。HDFS来自Google的GFS(Google File System),是GFS的开源版本。 ...

    HDFS文件系统技术详解.pptx

    HDFS 提供了两种文件读写方式:读取文件和写入文件。 读取文件 读取文件的过程如下: 1. 客户端调用 DistributedFileSystem 的 read 方法,获取 DistributedFileSystem 实例。 2. DistributedFileSystem 通过 RPC...

    hdfs_video_jar.zip_HDFS video_Hadoop 文件_hdfs_hdfs下MP4视频播放

    另一种方法是开发一个Java应用程序,利用Hadoop的Java API,直接读取HDFS上的文件块并处理,这可能涉及到多媒体解码库的集成,以实现流式播放。 `hdfs_video_jar`这个文件名暗示了压缩包内可能包含一个Java JAR文件...

    HDFS存取实例(java)

    本教程将详细讲解如何使用Java API进行HDFS上的文件存取操作,包括文件上传和下载,以及客户端的基本使用。 一、HDFS简介 HDFS是Apache Hadoop项目的核心部分,设计用于处理海量数据,通过在廉价硬件上实现数据的...

    利用javaAPI访问HDFS的文件

    从HDFS文件读取数据 ```java private static void readFromHdfs() throws IOException { FileSystem fs = FileSystem.get(conf); FSDataInputStream in = fs.open(new Path("hdfs://192.168.0.113:9000/user/...

    HDFS Java api 简单程序.zip

    HDFS Java API是开发人员与HDFS进行通信的主要接口,它提供了丰富的类和方法,使得在Java程序中读写HDFS文件变得简单易行。 首先,我们需要导入Hadoop的相关库。在Java项目中,确保你的`pom.xml`或`build.gradle`...

    java对大数据HDFS文件操作

    Java作为广泛使用的编程语言,提供了丰富的API来操作HDFS,使得开发者能够方便地进行文件的读取、写入、复制、移动等操作。本文将详细讲解如何使用Java对HDFS进行文件操作,并介绍两个相关的项目示例。 首先,Java...

    上传文件到HDFS

    接着,使用`FSDataOutputStream`打开一个到HDFS的新流,读取本地文件并逐块写入HDFS。最后,关闭输出流和文件系统连接。 在实际应用中,你可能需要对异常处理进行细化,比如添加重试机制,或者在文件上传失败后清理...

    腾讯云-HDFS文件服务平台概述.pdf

    腾讯云-HDFS文件服务平台概述.pdf

    腾讯云-HDFS文件服务平台概述.docx

    腾讯云-HDFS文件服务平台概述.docx

    PyPI 官网下载 | dbnd-hdfs-0.38.0.tar.gz

    在dbnd-hdfs 0.38.0版本中,用户可以利用Python的便利性来操作HDFS,包括读取、写入文件,执行目录操作,以及进行数据转换等任务,大大降低了大数据处理的门槛。 该压缩包“dbnd-hdfs-0.38.0”包含了dbnd-hdfs的源...

    《Hadoop大数据开发实战》教学教案—03HDFS分布式文件系统.pdf

    本节课程主要介绍 HDFS 的概念、HDFS 存储架构和数据读写流程、HDFS 的 Shell 命令、Java 程序操作 HDFS、Hadoop 序列化、Hadoop 小文件处理、通信机制 RPC 等知识点。 HDFS 概念 HDFS(Hadoop Distributed File ...

    HDFS分布式文件系统介绍.pdf

    Hadoop分布式文件系统(HDFS)是Apache Hadoop项目的核心组件之一,其设计灵感来源于Google文件系统(GFS)。HDFS被设计用于存储和处理大规模的数据集,尤其适合那些需要高吞吐量和容错性的应用,例如大数据分析和...

Global site tag (gtag.js) - Google Analytics