问题出现的背景
目前在使用Hive查数据的时候,同事们更多的是选择Hue平台,但是也会有熟悉Hive的同事直接使用Hive Cli来完成数据的查询,来看具体的Running进度,但是遇到这种Hive Cli卡住的情况,我也是第一次遇到。
首先想到的则是 Hive 服务是否还健康,去Ambari看了下Hive服务,是正常的,并没有报警。
这里提一下,集群Hive中,计算引擎使用的是Tez,启动过程中,Tez会向yarn中申请资源。如果资源不足那么就会导致这种问题!
这时候看了下Yarn的使用情况
看到这里其实问题就差不多清楚了,接下来验证一下,新开一个窗口
1 | hive -hiveconf hive.execution.engine=mr |
这样计算引擎临时切换到MapReduce,就没有问题了。所以原因在于如果hive的engine是Tez的话,Tez在执行之前会判断yarn资源是否充足,如果资源一直不足,则无法执行,而mr则不会有这种问题!