0756-7.0.3-HiveServer2無法啟動異常分析

​異常描述

在安裝CDH7.0.3的過程中,如果和以前的版本一樣安裝HiveServer2角色,會遇到以下問題,導致HiveServer2啟動失敗

<code>[main]: Found configuration file file:/run/cloudera-scm-agent/process/217-hive-HIVESERVER2/hive-site.xml/<code>
  • 測試環境

1.Redhat7.4

2.CDH7.0.3

3.集群未Kerberos


異常重現和說明

和以往版本的做法一樣,在Hive組件裡面安裝Hive Metastore Server, HiveServer2和GateWay角色。如下圖所示:

0756-7.0.3-HiveServer2無法啟動異常分析


此時發現無法啟動HiveServer2角色

0756-7.0.3-HiveServer2無法啟動異常分析


並報出如下錯誤

<code>[main]: Found configuration file file:/run/cloudera-scm-agent/process/217-hive-HIVESERVER2/hive-site.xml/<code>


進一步分析,找到HiveServer2的Stderr日誌,發現如下報錯信息:

0756-7.0.3-HiveServer2無法啟動異常分析

<code>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)/<init>/<code>
0756-7.0.3-HiveServer2無法啟動異常分析

這裡的關鍵信息是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服務進行驗證。

0756-7.0.3-HiveServer2無法啟動異常分析


安裝Hive on Tez後,HiveServer2成功啟動。

0756-7.0.3-HiveServer2無法啟動異常分析

異常解決。


分享到:


相關文章: