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

时间:2015-03-10 16:34:06

标签: java facebook hadoop hive

我已经启动了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中找到绑定。类]   SLF4J:有关解释,请参阅http://www.slf4j.org/codes.html#multiple_bindings。   SLF4J:实际绑定的类型为[org.slf4j.impl.Log4jLoggerFactory]   线程“main”中的异常java.lang.UnsupportedClassVersionError:com / facebook / fb303 / FacebookService $ Iface:不支持的major.minor版本51.0       at java.lang.ClassLoader.defineClass1(Native Method)       at java.lang.ClassLoader.defineClass(ClassLoader.java:643)       at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)       at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)       at java.net.URLClassLoader.access $ 000(URLClassLoader.java:73)       在java.net.URLClassLoader $ 1.run(URLClassLoader.java:212)       at java.security.AccessController.doPrivileged(Native Method)       在java.net.URLClassLoader.findClass(URLClassLoader.java:205)       at java.lang.ClassLoader.loadClass(ClassLoader.java:323)       在sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:294)       at java.lang.ClassLoader.loadClass(ClassLoader.java:268)       at java.lang.ClassLoader.defineClass1(Native Method)       at java.lang.ClassLoader.defineClass(ClassLoader.java:643)       at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)       at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)       at java.net.URLClassLoader.access $ 000(URLClassLoader.java:73)       在java.net.URLClassLoader $ 1.run(URLClassLoader.java:212)       at java.security.AccessController.doPrivileged(Native Method)       在java.net.URLClassLoader.findClass(URLClassLoader.java:205)       at java.lang.ClassLoader.loadClass(ClassLoader.java:323)       在sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:294)       at java.lang.ClassLoader.loadClass(ClassLoader.java:268)       at java.lang.Class.forName0(Native Method)       在java.lang.Class.forName(Class.java:274)       在org.apache.hadoop.hive.metastore.MetaStoreUtils.getClass(MetaStoreUtils.java:1451)       在org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:71)       在org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:2841)       在org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:2860)       在org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:453)       在org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:671)       在org.apache.hadoop.hive.cli.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)       在java.lang.reflect.Method.invoke(Method.java:622)       在org.apache.hadoop.util.RunJar.run(RunJar.java:221)       在org.apache.hadoop.util.RunJar.main(RunJar.java:136)

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

这里有两个错误..

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

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

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

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工作,这是我的下一个级别。 :)