占据过多ZK连接的HiveServer2导致的奇葩问题

HiveServer2在0.13版本的一个bug导致ZK连接数超出限制,引发线上故障。在YARN集群中,由于此问题,MapReduce任务在host1上失败,而Reduce任务耗尽所有节点内存,形成死锁。受影响的任务不仅自身受阻,还影响了其他依赖ZK的Application,导致长时间的服务中断。
摘要由CSDN通过智能技术生成

HiveServer2的0.13版本存在一个bug,会导致该机器上的ZK连接数超过定义上限,详细可见HIVE-8596描述。在我们的线上集群中,因为这个bug导致了一个有意思的故障。

线上YARN集群版本为Hadoop2.5.0-cdh5.2.0,包含7个NodeManger节点,假设为host1——host7。相关配置:可分配给容器的物理内存数量(yarn.nodemanager.resource.memory-mb)为8G,Reduce任务内存(mapreduce.reduce.memory.mb)为2G。host1上部署了HiveServer2,并且出现了HIVE-8596的bug。Reduce任务前要完成的Map任务数量(mapreduce.job.reduce.slowstart.completedmaps)为0.8.Mapreduce任务超时(mapreduce.task.timeout)为10分钟。

在06:09:54时,Application-A开始运行,其包括50个Map任务和28个reduce任务,Map中需要连接ZK。有5个Map任务分配到host1上,其余45个分配到host2——host7上。

至06:10:14时,host2——host7上的45个Map任务全部完成。不幸的是,由于HIVE-8596的缘故,host1上的任务第一次尝试全部失败,所以10分钟(mapreduce.task.timeout)后会抛出超时错误,并且准备尝试第二次,此时大约为06:20。悲催的是ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值