作者:黄乐平
异常描述
在安装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成功启动。
异常解决。