首页 文章

面对java.lang.UnsupportedClassVersionError:com / facebook / fb303 / FacebookService $ Iface启动时的错误

提问于
浏览
0

我已经启动了Hadoop并尝试启动hive,这是我得到的错误 . 我刚开始学习Hadoop和hive,请帮助..

hduser@Venkat:/usr/lib/hive/apache-hive-1.1.0-bin$ bin/hive

使用jar中的配置初始化日志:文件:/usr/lib/hive/apache-hive-1.1.0-bin/lib/hive-common-1.1.0.jar!/hive-log4j.properties SLF4J:类路径包含多个SLF4J绑定 . SLF4J:在[jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]中发现绑定SLF4J:发现绑定在[jar:file:/usr/lib/hive/apache-hive-1.1.0-bin/lib/hive-jdbc-1.1.0-standalone.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:有关说明,请参见http://www.slf4j.org/codes.html#multiple_bindings . SLF4J:实际绑定的类型为[org.slf4j.impl.Log4jLoggerFactory]线程“main”中的异常java.lang.UnsupportedClassVersionError:com / facebook / fb303 / FacebookService $ Iface:java.lang.ClassLoader中不支持的major.minor版本51.0 .defineClass1(Native Method)位于java.security.ClassLoader.defineClass(ClassLoader.java:643)java.security.ClassLoader.defineClass(SecureClassLoader.java:142)java.net.URLClassLoader.defineClass(URLClassLoader.java:277) )java.net.URLClassLoader.access $ 000(URLClassLoader.java:73)java.net.URLClassLoader $ 1.run(URLClassLoader.java:212)java.net的java.security.AccessController.doPrivileged(Native Method) . URLClassLoader.findClass(URLClassLoader.java:205)位于java.lang.ClassLoader.loadClass(ClassLoader.java:323)的sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:294)at java.lang.ClassLoader.loadClass (ClassLoader.java:268)java.lang.ClassLoader.defineClass的java.lang.ClassLoader.defineClass1(Native Method)(ClassLoader.java:643) )java.net上的java.net.URLClassLoader.access $ 000(URLClassLoader.java:73)java.net.URLClassLoader.defineClass(URLClassLoader.java:277)的java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) . net.URLClassLoader $ 1.run(URLClassLoader.java:212)java.security.AccessController.doPrivileged(Native Method)at java.net.URLClassLoader.findClass(URLClassLoader.java:205)at java.lang.ClassLoader.loadClass(ClassLoader) .java:323)at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:294)at java.lang.ClassLoader.loadClass(ClassLoader.java:268)at java.lang.Class.forName0(Native Method)at at java.lang.Class.forName(Class.java:274)org.apache.hadoop.hive.metastore.MetaStoreUtils.getClass(MetaStoreUtils.java:1451)org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(在org.apache.hadoop.hive.d.前端,在Org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:2841)中重试了BestMetaStoreClient.java:71)(Hive.java: 2860)在org.apache.h位于org.apache.hadoop.hive.cli的org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:671)中的adoop.hive.ql.session.SessionState.start(SessionState.java:453) . CliDriver.main(CliDriver.java:615)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 43)位于org.apache.hadoop.util.RunJar.main的org.apache.hadoop.util.RunJar.run(RunJar.java:221)的java.lang.reflect.Method.invoke(Method.java:622) (RunJar.java:136)

2 回答

  • 0

    我目前遇到了同样的问题..

    在这里,你有两个错误..

    首先,多重绑定,第二个,不兼容的等等(尚未确定)

    为了解决这个问题:类路径包含多个SLF4J绑定 .

    SLF4J:在 [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] 中找到绑定

    SLF4J:在 [jar:file:/usr/lib/hive/apache-hive-1.1.0-bin/lib/hive-jdbc-1.1.0-standalone.jar!/org/slf4j/impl/StaticLoggerBinder.class] 中找到绑定

    删除这两个中的一个,它将不再显示 . 根据我的阅读,非常基本的理解,它只需要只绑定一个 .

    所以对于第二个,让我们互相帮助:)我也是HADOOP的新手 . 但是因为我作为BI Dev工作,这是我的下一个级别 . :)

  • 1

    您的Java版本太旧了 . 您至少需要Java 7才能运行此代码 .

    您可能需要考虑卸载计算机上的所有Java安装,然后只安装一个 . 如果适用于您的平台,最新的Java 8是一个不错的选择 .

相关问题