0756-7.0.3-HiveServer2无法启动异常分析

2020-03-25 11:11:29 浏览数 (1)

作者:黄乐平

异常描述

在安装CDH7.0.3的过程中,如果和以前的版本一样安装HiveServer2角色,会遇到以下问题,导致HiveServer2启动失败

代码语言:javascript复制
[main]: Found configuration file file:/run/cloudera-scm-agent/process/217-hive-HIVESERVER2/hive-site.xml
  • 测试环境

1.Redhat7.4

2.CDH7.0.3

3.集群未Kerberos

异常重现和说明

和以往版本的做法一样,在Hive组件里面安装Hive Metastore Server, HiveServer2和GateWay角色。如下图所示:

此时发现无法启动HiveServer2角色

并报出如下错误

代码语言:javascript复制
[main]: Found configuration file file:/run/cloudera-scm-agent/process/217-hive-HIVESERVER2/hive-site.xml

进一步分析,找到HiveServer2的Stderr日志,发现如下报错信息:

代码语言:javascript复制
Exception in thread "main" java.lang.IllegalArgumentException: mr execution engine is not supported!
    at org.apache.hadoop.hive.conf.HiveConf.validateExecutionEngine(HiveConf.java:5594)
    at org.apache.hadoop.hive.conf.HiveConf.initialize(HiveConf.java:5578)
    at org.apache.hadoop.hive.conf.HiveConf.<init>(HiveConf.java:5434)
    at org.apache.hadoop.hive.common.LogUtils.initHiveLog4jCommon(LogUtils.java:100)
    at org.apache.hadoop.hive.common.LogUtils.initHiveLog4j(LogUtils.java:84)
    at org.apache.hive.service.server.HiveServer2.main(HiveServer2.java:1130)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:318)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:232)

这里的关键信息是mr execution engine is not supported!

这是因为在新版CDH7.0.3中,Hive的默认执行引擎不再是MapReduce了,而是换成了Tez。因此HiveServer2在没有Tez的情况下,便会报出这个错误。

异常解决

首先我们在CDH7.0.3中添加Hive On Tez组件,然后在该Hive on Tez服务中安装HiveServer2服务,再次启动HiveServer2服务进行验证。

安装Hive on Tez后,HiveServer2成功启动。

异常解决。

0 人点赞