启动配置单元时出错

时间:2017-06-03 16:07:18

标签: hadoop hive

我不知道在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个

1 个答案:

答案 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