当 hive.execution.engine 重视其 tez 时出现 NoSuchMethodError
Posted
技术标签:
【中文标题】当 hive.execution.engine 重视其 tez 时出现 NoSuchMethodError【英文标题】:NoSuchMethodError when hive.execution.engine value its tez 【发布时间】:2015-05-29 19:50:08 【问题描述】:我正在使用 hive 1.0.0 和 apache tez 0.4.1 当我将 hive 配置为使用 tez 时,出现异常。
在 hive-site.xml 中,当 hive.execution.engine 值为 mr
时,它可以正常工作。但如果我将其设置为 tez
我会收到此错误:
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.tez.mapreduce.hadoop.MRHelpers.updateEnvBasedOnMRAMEnv(Lorg/apache/hadoop/conf/Configuration;Ljava/util/Map;)V
at org.apache.hadoop.hive.ql.exec.tez.TezSessionState.open(TezSessionState.java:169)
at org.apache.hadoop.hive.ql.exec.tez.TezSessionState.open(TezSessionState.java:122)
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:454)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:626)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:570)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
我错过了什么?
【问题讨论】:
【参考方案1】:我自己解决了.... 我刚刚将 tez 的版本从 0.4.1 升级到了 0.5.2。 我刚刚听说 tez 0.4.1 在与 hive 集成时遇到了一些问题。
【讨论】:
以上是关于当 hive.execution.engine 重视其 tez 时出现 NoSuchMethodError的主要内容,如果未能解决你的问题,请参考以下文章