问题背景:
工作中需要用到Hiveserver提交任务到hadoop进行离线计算,在正常测试运行整个离线计算任务几遍后,在后面提交任务的运行过程中遇到该异常。
问题表现:
从监控模块放回的异常与Hive中日志异常一样,均为如下所示:
2013-03-01 15:14:12 [ERROR] [SummaryReport] [orderNumStatics/订单量] File '/home/hadoop/hive-0.7.1-cdh3u3/lib/py/hive_service/ThriftHive.py', line 87, in recv_execute
raise result.ex
HiveServerException:HiveServerException(errorCode=12, message='Query returned non-zero code: 12, cause: FAILED: Hive Internal Error: java.lang.RuntimeException(java.net.ConnectException: Call to nn/10.28.168.128:41000 failed on connection exception: java.net.Co

在使用Hiveserver执行Hadoop离线计算任务时,遇到Hive的Connection refused异常和Hadoop的Too many open files问题。异常出现后,直接通过Hive提交查询也会失败,但稍后可以成功执行一定数量的任务。问题根源在于Hadoop的一个已知Bug,导致TCP连接不会被释放。解决方法包括:应用补丁修复Bug,修改Linux系统允许的最大打开文件数,以及调整Hadoop配置中datanode的最大并发连接数。
最低0.47元/天 解锁文章
1073

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



