yarn里有大量的短暂killed的hive任务问题排查

问题:我们用AWS EMR的时候发现在yarn的application  manager ui里有大量killed的hive任务,而且非常之多,如截图所,我们是通过hive server2方式提交任务的:

yarn里有大量的短暂killed的hive任务问题排查_第1张图片

解决方案:

首先想到的是不是有什么进程在不断的捣鬼,后来grep 下所有hive进程,将该杀的都杀了之后,并没有什么特殊的异常进程,但是在grep的瞬间有遇到类似如下的命令:bash /usr/lib/hive/bin/hive -e show PARTITIONS  mytable

因为我们的集群默认配置的是hive server2,对原生的/usr/lib/hive/bin/hive做的alias,按理说不会直接调用原生的hive cli,猜测可能是由于之前的老代码没有修改彻底导致的。但是这与yarn后台大量的killed的hive任务是否有关系?显然,只需要做一个测试即可。经过测试,hive cli确实产生了一个killed的hive任务,至此根本原因算是定位到了。那如何规避这一问题?或者说这一问题是怎么间接产生的呢?排查的思路是先查看环境变量,如果环境变量正常,则只能进一步查看是哪个程序执行了这样的操作。后来发现在环境变量里有个alias bhive=hive,但是这个bhive=hive是在我们自定义的alias hive=/usr/bin/beeline 上面,所以并没有生效,还是执行了一遍hive cli命令,这时只需要将alias bhive=hive放置在alias=/usr/bin/beeline 下面即可

你可能感兴趣的:(HIVE,hive)