无法识别的Hadoop主要版本号:3.0.0-beta1 at org.apache.hadoop.hive.shims.ShimLoader.getMajorVersion

时间:2017-10-29 18:54:53

标签: hadoop hive hadoop3

我在Windows 10环境中安装了hadoop 3.0 beta1的Windows本机库。 HDFS和Yarn启动成功。安装了Hive 2.2,安装了derby db的同一个Windows本机库。但是在运行配置单元服务器时失败了。

以下是运行Hive时收到的错误。 Hive与hadoop 3.0 beta 1是否有任何版本兼容性,这将解决以下错误。

2017-10-22 12:25:53,002 ERROR shims.ShimLoader: Error loading shims
java.lang.IllegalArgumentException: Unrecognized Hadoop major version number: 3.0.0-beta1
        at org.apache.hadoop.hive.shims.ShimLoader.getMajorVersion(ShimLoader.java:177)
        at org.apache.hadoop.hive.shims.ShimLoader.loadShims(ShimLoader.java:144)
        at org.apache.hadoop.hive.shims.ShimLoader.getHadoopShims(ShimLoader.java:99)
        at org.apache.hadoop.hive.ql.udf.UDAFPercentile.<clinit>(UDAFPercentile.java:51)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.apache.hive.common.util.ReflectionUtil.newInstance(ReflectionUtil.java:83)
        at org.apache.hadoop.hive.ql.exec.Registry.registerUDAF(Registry.java:238)
        at org.apache.hadoop.hive.ql.exec.Registry.registerUDAF(Registry.java:231)
        at org.apache.hadoop.hive.ql.exec.FunctionRegistry.<clinit>(FunctionRegistry.java:430)
        at org.apache.hadoop.hive.ql.metadata.Hive.reloadFunctions(Hive.java:243)
        at org.apache.hadoop.hive.ql.metadata.Hive.registerAllFunctionsOnce(Hive.java:227)
        at org.apache.hadoop.hive.ql.metadata.Hive.<init>(Hive.java:384)
        at org.apache.hadoop.hive.ql.metadata.Hive.create(Hive.java:328)
        at org.apache.hadoop.hive.ql.metadata.Hive.getInternal(Hive.java:308)
        at org.apache.hadoop.hive.ql.metadata.Hive.get(Hive.java:284)
        at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:581)
        at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:544)
        at org.apache.hive.service.cli.CLIService.applyAuthorizationConfigPolicy(CLIService.java:127)
        at org.apache.hive.service.cli.CLIService.init(CLIService.java:112)
        at org.apache.hive.service.cli.thrift.EmbeddedThriftBinaryCLIService.init(EmbeddedThriftBinaryCLIService.java:45)
        at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:165)
        at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:107)
        at java.sql.DriverManager.getConnection(DriverManager.java:664)
        at java.sql.DriverManager.getConnection(DriverManager.java:208)
        at org.apache.hive.beeline.DatabaseConnection.connect(DatabaseConnection.java:145)
        at org.apache.hive.beeline.DatabaseConnection.getConnection(DatabaseConnection.java:209)
        at org.apache.hive.beeline.Commands.connect(Commands.java:1497)
        at org.apache.hive.beeline.Commands.connect(Commands.java:1392)
        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.hive.beeline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:54)
        at org.apache.hive.beeline.BeeLine.execCommandWithPrefix(BeeLine.java:1105)
        at org.apache.hive.beeline.BeeLine.embeddedConnect(BeeLine.java:909)
        at org.apache.hive.beeline.BeeLine.defaultConnect(BeeLine.java:926)
        at org.apache.hive.beeline.BeeLine.begin(BeeLine.java:872)
        at org.apache.hive.beeline.cli.HiveCli.runWithArgs(HiveCli.java:35)
        at org.apache.hive.beeline.cli.HiveCli.main(HiveCli.java:29)
        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:239)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:153)
java.lang.ExceptionInInitializerError
Beeline version 2.2.0 by Apache Hive
2017-10-22 12:25:53,072 WARN conf.HiveConf: HiveConf of name hive.server2.enable.impersonation does not exist
2017-10-22 12:25:53,121 WARN conf.HiveConf: HiveConf of name hive.server2.enable.impersonation does not exist

1 个答案:

答案 0 :(得分:3)

编辑:截至2018年5月21日,Hive 3.0.0已发布并支持Hadoop 3.有关更多详细信息,请参阅JIRA Changelog

在提出这个问题时,Hive尚未与Hadoop 3集成。这些是与您的问题相关的错误。

https://issues.apache.org/jira/browse/HIVE-15016 - 使用Hadoop 3.0.0-beta1运行测试 https://issues.apache.org/jira/browse/HIVE-15326 - Hive垫片报告无法识别的Hadoop主要版本号:3.0.0-alpha2-SNAPSHOT

downloads page显示:

enter image description here

这意味着仍然不支持与Hadoop 3的集成。