Premature EOF from inputStream错误的不同原因

今天例行的任务报Premature EOF from inputStream的错误(具体log被刷屏刷掉了)。根据这个关键信息去网上搜了下,有说lzo压缩指定方式不对的MapReduce使用lzo压缩注意,也有说节点或者通信出问题,或者文件操作超租期,实际上就是data stream操作过程中文件被删掉了,后者的意思在后知后觉下其实已经比较接近我遇到的情况了。

因此,我先检查了集群的节点,都是正常;而lzo的能性也因为最近没有对任务做更新也就排除了。

最后一个偶然去检查了下存储的数据,发现有一个lzo文件size是0,检查其它天的文件没有这样的情况,直觉告诉我问题就出在这儿。问了同事也发现昨天有个机子日志打满,导致产出的lzo文件也为0,于是更加确定是这个问题。

0size的文件现在已经移除也补上了正常的数据。如果不是这个原因,我待会儿再来吐槽。

时间: 2024-10-29 09:24:53

Premature EOF from inputStream错误的不同原因的相关文章

hive报lzo Premature EOF from inputStream错误

今天dw组同事发邮件说有一个问题让帮解决一下,他们自己没能搞得定,以下问题解决过程: 1.hql insert overwrite table mds_prod_silent_atten_user partition (dt=20141110) select uid, host, atten_time from (select uid, host, atten_time from (select case when t2.uid is null then t1.uid else t2.uid e

hadoop MR 任务 报错 "Error: java.io.IOException: Premature EOF from inputStream at org.apache.hadoop.io"

错误原文分析 文件操作超租期,实际上就是data stream操作过程中文件被删掉了.通常是因为Mapred多个task操作同一个文件,一个task完成后删掉文件导致.这个错误跟dfs.datanode.max.transfer.threads参数到达上限有关.这个是datanode同时处理请求的任务上限,总默认值是 4096,该参数取值范围[1 to 8192] hadoop docs hdfs-site.xml dfs.datanode.max.transfer.threads 4096 S

BufferedReader的ready与readLine使用,以及Premature EOF异常

有些人在读取服务器端返回的数据的时候,使用了BufferedReader类的ready: 1 while(reader.ready()) { 2 //执行读取操作,即readLine 3 } 这个方法很经常被用到, 但是返回的却都是空,这是什么原因呢,查看了一下帮助文档,以及上网查了查,总结如下: 1. ready是查看流是否已经准备好被读,是一个非阻塞的方法,所以会立刻返回,由于服务器没有准备好被读,所以会立刻返回,所以读取到的都是null. 2. readLine是一个阻塞的方法,只要没有断

SenchaTouch中出现数据覆盖 以及 “Cannot call method 'setData' of nul”l错误的可能原因

SenchaTouch中出现数据覆盖 的可能原因 当在ST系统中有多出Store使用同一个Model时,如果两个不同 Store的data中的 id 字段有重复的,则会出现数据紊乱的现象,比如两个列表使用不同的Store但都引用了同一个Model 在两个Store中data的id字段有重复的,将会导致列表数据现实错乱. "Cannot call method 'setData' of nul"l错误的可能原因 sencha touch 中 给list设置数据时 当使用 Ext.getC

Stack overflow错误的一个原因

前两天,将已经在TCPMP下完成的文件列表与LRC移植到一个新的EVC4 MFC工程中,调用初始化文件列表后,运行出现Stack overflow错误. 分析原因:局部变量申请太多,默认stack只有1M.当使用stack的使用超过1M,就会再现这样的错误. 解决方法:在EVC的菜单[Project->Setting]的Link页中的Category中选择Output,将Stack的Reserve里的值修改增加,以满足程序的要求.

Linux环境下段错误的产生原因及调试方法小结(转)

最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且 项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的“段错误”(Segmentation Fault).借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决. 1. 段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址.访问了系统保护的内存地址.访问了只读的内存地址等等情况.这里贴一个对于“段

Linux环境下段错误的产生原因及调试方法小结

最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的“段错误”(Segmentation Fault).借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决. 1. 段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址.访问了系统保护的内存地址.访问了只读的内存地址等等情况.这里贴一个对于“段错

【转】【调试技巧】Linux环境下段错误的产生原因及调试方法小结

本文转自:http://www.cnblogs.com/panfeng412/archive/2011/11/06/segmentation-fault-in-linux.html 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的“段错误”(Segmentation Fault).借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决. 1. 段错误

Linux环境下段错误的产生原因及调试方法小结(转载)

转载自http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间 最长的问题就是著名的“段错误”(Segmentation Fault).借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决. 1. 段错误是什么 一句话来说,段错误是指访问的内存超