昨天下午用hive处理日志的时候,突然hive报了一个错“FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask”,在hive里无法查询,查看hadoop日志发现“org.apache.hadoop.mapred.TaskInProgress: Error from attempt_201209122301_0001_m_000024_3: java.io.IOException: Task process exit with nonzero status of 1.查看”Hadoop Map/Reduce Administration“发现map,reduce都被kill掉了,一点进去想看日志却没有,一直没找到哪里出了问题,开始以为是代码除了问题就把代码还原(以前一直运行的好好的),后来把hive重装,hadoop集权重新格式化,都不行。真是百思不得其解。后来终于发现错在哪里了,由于为了调试代码我在“Deserializer”序列化反序列化类里面打印了很多日志。此次处理的日志一天就有大概200W行导致打印的日志太多。而hadoop的日志又放在hadoop的logs下,前几天运行几次,结果导致hadoop的整个目录有差不多300G导致机器硬盘够不。删除日志后就OK了。强烈建议实时监控硬盘,CPU,内存,硬盘,网络。把hadoop的日志配置到其它大的分区去。
附查看文件夹目录大小命令:du -h --max-depth=1 .

267

被折叠的 条评论
为什么被折叠?



