我不知道在Ubuntu 17.04的终端启动hive时发生了什么,我在终端上遇到了一些错误。我是新手,面对一些问题,任何人都可以帮助我。
我有(在.bashrc文件中安装和指定):
Hadoop:2.8.0
Hive:2.1.1
Java:1.8.0_131
SLF4J:类路径包含多个SLF4J绑定。 SLF4J:找到了 绑定 [JAR:文件:/usr/local/src/hive-2.1.1/lib/log4j-slf4j-impl-2.4.1.jar /org/slf4j/impl/StaticLoggerBinder.class] SLF4J:发现绑定 [JAR:文件:/usr/local/src/hadoop-2.8.0/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar /org/slf4j/impl/StaticLoggerBinder.class] SLF4J:请参阅http://www.slf4j.org/codes.html#multiple_bindings 说明。 SLF4J:实际绑定是类型 [org.apache.logging.slf4j.Log4jLoggerFactory]
使用配置初始化日志记录 罐子:文件:/usr/local/src/hive-2.1.1/lib/hive-common-2.1.1.jar /hive-log4j2.properties Async:true线程中的异常" main"了java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException:无法实例化 org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:591) 在 org.apache.hadoop.hive.ql.session.SessionState.beginStart(SessionState.java:531) 在org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:705)at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641)at at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:498)at org.apache.hadoop.util.RunJar.run(RunJar.java:234)at at org.apache.hadoop.util.RunJar.main(RunJar.java:148)引起: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException:无法实例化 org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient at org.apache.hadoop.hive.ql.metadata.Hive.registerAllFunctionsOnce(Hive.java:226) 在org.apache.hadoop.hive.ql.metadata.Hive。(Hive.java:366)at org.apache.hadoop.hive.ql.metadata.Hive.create(Hive.java:310)at at org.apache.hadoop.hive.ql.metadata.Hive.getInternal(Hive.java:290)at org.apache.hadoop.hive.ql.metadata.Hive.get(Hive.java:266)at at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:558) ... 9更多引起:java.lang.RuntimeException:无法执行 实例 org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1654) 在 org.apache.hadoop.hive.metastore.RetryingMetaStoreClient。(RetryingMetaStoreClient.java:80) 在 org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:130) 在 org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:101) 在 org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:3367) 在org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:3406)at at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:3386)at at org.apache.hadoop.hive.ql.metadata.Hive.getAllFunctions(Hive.java:3640) 在 org.apache.hadoop.hive.ql.metadata.Hive.reloadFunctions(Hive.java:236) 在 org.apache.hadoop.hive.ql.metadata.Hive.registerAllFunctionsOnce(Hive.java:221) ... 14更多引起:java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 方法)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 在 org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1652) ... 23更多引起:MetaException(消息:版本信息不是 在Metastore中发现。 ) 在 org.apache.hadoop.hive.metastore.ObjectStore.checkSchema(ObjectStore.java:7753) 在 org.apache.hadoop.hive.metastore.ObjectStore.verifySchema(ObjectStore.java:7731) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:498)at org.apache.hadoop.hive.metastore.RawStoreProxy.invoke(RawStoreProxy.java:101) 在com.sun.proxy。$ Proxy21.verifySchema(未知来源)at org.apache.hadoop.hive.metastore.HiveMetaStore $ HMSHandler.getMS(HiveMetaStore.java:565) 在 org.apache.hadoop.hive.metastore.HiveMetaStore $ HMSHandler.createDefaultDB(HiveMetaStore.java:626) 在 org.apache.hadoop.hive.metastore.HiveMetaStore $ HMSHandler.init(HiveMetaStore.java:416) 在 org.apache.hadoop.hive.metastore.RetryingHMSHandler。(RetryingHMSHandler.java:78) 在 org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:84) 在 org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:6490) 在 org.apache.hadoop.hive.metastore.HiveMetaStoreClient。(HiveMetaStoreClient.java:238) 在 org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient。(SessionHiveMetaStoreClient.java:70) ......还有28个
答案 0 :(得分:1)
Hive使用关系数据库(可以配置Derby,MySQL,Postgresql等)来存储其元数据。
让我们看一下您错误消息的一部分:
more Caused by: MetaException(message:Version information not found in metastore. ) at org.apache.hadoop.hive.metastore.ObjectStore.checkSchema(ObjectStore.java:7753) at org.apache.hadoop.hive.metastore.ObjectStore.verifySchema(ObjectStore.java:7731)
Hive尝试验证Metastore架构版本是否与将要访问Metastore的Hive二进制文件兼容。在您的情况下,版本不兼容。 有关详细信息,请参阅Hive official documents。
为了让事情有效,你可以:
1)找到hive-site.xml
文件,并将属性hive.metastore.schema.verification
配置为“false
”,以便Metastore隐式编写模式版本(如果它不匹配)。
2)使用schematool将当前架构升级到更高版本。 请参阅以下链接或Cloudera guide。