You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HiveServer2启动报错java.lang.NoSuchMethodError求助

问题原因分析

环境信息

java -version
openjdk version "11.0.8" 2020-07-14 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.8+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode, sharing)
  • Hadoop版本:3.4.1
  • Hive版本:4.0.1

错误信息

Exception in thread "main" java.lang.NoSuchMethodError: 
    org.apache.hadoop.util.ShutdownHookManager.addShutdownHook(Ljava/lang/Runnable;IJLjava/util/concurrent/TimeUnit;)V
            at org.apache.hive.common.util.ShutdownHookManager.addShutdownHook(ShutdownHookManager.java:99)
            at org.apache.hive.common.util.ShutdownHookManager.addShutdownHook(ShutdownHookManager.java:71)
            at org.apache.hive.common.util.HiveStringUtils.startupShutdownMessage(HiveStringUtils.java:770)
            at org.apache.hive.service.server.HiveServer2.main(HiveServer2.java:1276)
            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:221)
            at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

原因说明

这个错误是版本兼容性不匹配导致的:

  • Hive 4.0.1的代码中调用了org.apache.hadoop.util.ShutdownHookManager类的addShutdownHook(Runnable, int, long, TimeUnit)方法,但当前使用的Hadoop 3.4.1版本里,该类并未提供这个特定签名的方法。
  • 核心问题是Hive 4.0.1依赖的Hadoop API版本,与你实际部署的Hadoop 3.4.1存在差异,二者的接口定义不兼容,从而触发了方法找不到的异常。

内容的提问来源于stack exchange,提问作者Mich Talebzadeh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 08:03:11