执行hadoop任务时报错:

  1. -- ::, INFO [main] org.apache.hadoop.mapred.MapTask: Processing split: Paths:/flume/nginx/app1/--//app1@flume23_10003_4..gz:+,/flume/nginx/app2/--//app2@flume174_10003_9..gz:+
  2. -- ::, WARN [main] org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException as:kwang (auth:SIMPLE) cause:java.io.EOFException: Unexpected end of input stream
  3. -- ::, WARN [main] org.apache.hadoop.mapred.YarnChild: Exception running child : java.io.EOFException: Unexpected end of input stream
  4. at org.apache.hadoop.io.compress.DecompressorStream.decompress(DecompressorStream.java:)
  5. at org.apache.hadoop.io.compress.DecompressorStream.read(DecompressorStream.java:)
  6. at java.io.InputStream.read(InputStream.java:)
  7. at org.apache.hadoop.util.LineReader.fillBuffer(LineReader.java:)
  8. at org.apache.hadoop.util.LineReader.readDefaultLine(LineReader.java:)
  9. at org.apache.hadoop.util.LineReader.readLine(LineReader.java:)
  10. at org.apache.hadoop.mapreduce.lib.input.LineRecordReader.skipUtfByteOrderMark(LineRecordReader.java:)
  11. at org.apache.hadoop.mapreduce.lib.input.LineRecordReader.nextKeyValue(LineRecordReader.java:)
  12. at org.apache.hadoop.mapreduce.lib.input.CombineFileRecordReaderWrapper.nextKeyValue(CombineFileRecordReaderWrapper.java:)
  13. at org.apache.hadoop.mapreduce.lib.input.CombineFileRecordReader.nextKeyValue(CombineFileRecordReader.java:)
  14. at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:)
  15. at org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:)
  16. at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:)
  17. at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:)
  18. at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:)
  19. at org.apache.hadoop.mapred.MapTask.run(MapTask.java:)
  20. at org.apache.hadoop.mapred.YarnChild$.run(YarnChild.java:)
  21. at java.security.AccessController.doPrivileged(Native Method)
  22. at javax.security.auth.Subject.doAs(Subject.java:)
  23. at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:)
  24. at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:)

产生原因:

以上报错原因基本都是由于HDFS上的文件异常结束导致的,通过查看log,发现/flume/nginx/app1/2019-06-05/00/app1@flume23_10003_4.1559665890953.gz:0+0 这个文件的大小为0字节。要理解空文件的产生,先需要清楚集群flume采集日志的逻辑,集群中采用flume采集到日志写入到HDFS,采集过程中flume会先新建一个*.gz.tmp文件,flume持续的向*.gz.tmp文件中追加数据,在写周期到达时将*.gz.tmp重命名为*.gz,而空文件产生的原因是flume新建了*.gz.tmp文件后,没有新数据产生,重命名后文件大小为空。

解决办法:
将空gz文件删除后重新运行任务即可。

还有另一种原因,当设置了如下参数对文件进行分割切片时,导致部分文件为空文件,从而解析过程中出现异常。当然,这种原因取决于文件的原始格式是否可压缩,像gz、snappy、lzo文件是不可分割的,设置如下参数就不会出现以上报错,像orc文件是可分割的,设置如下参数可能会出现以上异常。

  1. -Dmapreduce.input.fileinputformat.split.minsize= -Dmapreduce.input.fileinputformat.split.maxsize=

【参考资料】

[1]. 菜菜光, hadoop Unexpected end of input stream 错误.

hadoop异常: java.io.EOFException: Unexpected end of input stream的更多相关文章

  1. hadoop java.io.EOFException: Unexpected end of input stream

    执行hadoop 报错 java.io.EOFException: Unexpected end of input stream at org.apache.hadoop.io.compress.De ...

  2. hive查询遇到java.io.EOFException: Unexpected end of input stream错误

    hive查询遇到java.io.EOFException: Unexpected end of input stream错误 原因基本上有两个: 空文件 不完整的文件 解决办法: 删除对应文件- 参考 ...

  3. socket编程报异常java.io.EOFException

    一个客户端连接服务器的小程序,服务器端可以正常读取客户端发来的数据 但是当客户端关闭时,服务端也关闭了,并且抛出如下的异常: java.io.EOFException at java.io.DataI ...

  4. 启动项目时出现java.io.EOFException异常。

    错误: 2018-4-18 10:55:54 org.apache.catalina.session.StandardManager doLoad 严重: IOException while load ...

  5. 我的Java开发学习之旅------>Java使用ObjectOutputStream和ObjectInputStream序列号对象报java.io.EOFException异常的解决方法

    今天用ObjectOutputStream和ObjectInputStream进行对象序列化话操作的时候,报了java.io.EOFException异常. 异常代码如下: java.io.EOFEx ...

  6. 解决异常断电导致的: CorruptSSTableException: java.io.EOFException

    问题产生 服务器重启,导致cassandra损坏,整个集群不可用.所使用的cassandra为2.1.9版本. 问题描述 运行启动命令,报错如下: DEBUG :: All segments have ...

  7. hbase_异常_03_java.io.EOFException: Premature EOF: no length prefix available

    一.异常现象 更改了hadoop的配置文件:core-site.xml  和   mapred-site.xml  之后,重启hadoop 和 hbase 之后,发现hbase日志中抛出了如下异常: ...

  8. java.io.EOFException

    错误代码如下: 严重: IOException while loading persisted sessions: java.io.EOFException java.io.EOFException ...

  9. tomcat启动报错:IOException while loading persisted sessions: java.io.EOFException.

    tomcat启动错误代码: 严重: IOException while loading persisted sessions: java.io.EOFException java.io.EOFExce ...

随机推荐

  1. Java基础- TreeMap<Person,Integer> 实现的定制排序(Comparator 接口)

    测试内容: TreeMap<Person,Integer> 的两级排序 1.先按Person.id 从小到大 (需要把int类型转换成包装类 Integer, 才可以使用p1.getId( ...

  2. python中常用的九种预处理方法

    本文总结的是我们大家在python中常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍; 1. 标准化(Standardization or Mean Removal ...

  3. Disconnected from the target VM, address: '127.0.0.1:56577', transport: 'socket'

    Disconnected from the target VM, address: '127.0.0.1:56577', transport: 'socket' Disconnected from t ...

  4. 第107题:二叉树的层次遍历II

    一. 问题描述 给定一个二叉树,返回其节点值自底向上的层次遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 ...

  5. 删除集合元素Collection ,remove()

    package seday11;/*** @author xingsir*/public class coordinate { private int x; private int y; /* * 右 ...

  6. 如何使用python异常---runtimeError方法

    RuntimeError def ilove(name): if name=='陈培昌': print('i love {0}'.format(name)) elif name == '程劲': pr ...

  7. pyecharts v1 版本 学习笔记 饼图,玫瑰图

    饼图: 普通案例 from example.commons import Faker from pyecharts import options as opts from pyecharts.char ...

  8. Ubuntu: error: snap “phpstorm” has “install-snap” change in progress

    Ubuntu: error: snap “phpstorm” has “install-snap” change in progress 投稿日 : 2019-06-10 | カテゴリー : linu ...

  9. 四十九. Zabbix报警机制 、 Zabbix进阶操作 、 监控案例

    案例1:实现Zabbix报警功能 案例2:Zabbix自动发现 案例3:Zabbix主动监控 案例4:拓扑图与聚合图形 案例5:自定义监控案例 1 案例1:实现Zabbix报警功能 1.1 问题 沿用 ...

  10. CF #589 (Div. 2) D. Complete Tripartite 构造

    这个 D 还是十分友好的~ 你发现这 $3$ 个集合形成了一个环的关系,所以随意调换顺序是无所谓的. 然后随便让 $1$ 个点成为第 $2$ 集合,那么不与这个点连边的一定也属于第二集合. 然后再随便 ...