首页 文章

启动配置单元时出错

提问于
浏览
0

我不知道在Ubuntu 17.04的终端启动hive时发生了什么,我在终端上遇到了一些错误 . 我是新手,面对一些问题,任何人都可以帮助我 .

我有(在.bashrc文件中安装和指定):

Hadoop:2.8.0

蜂巢:2.1.1

Java:1.8.0_131

SLF4J:类路径包含多个SLF4J绑定 . SLF4J:在[jar:file:/usr/local/src/hive-2.1.1/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J中找到绑定:在[jar:file:/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]使用jar:file:/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 . 位于org.apache.hadoop.hive.ql.session.SessionState.beginStart(SessionState)的org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:591)中的hadoop.hive.ql.metadata.SessionHiveMetaStoreClient .java:531)org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:705)at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641)at sun . 在sun.reflect.NalMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)的sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)的java.lang.reflect.Method.invoke上的reflect.NativeMethodAccessorImpl.invoke0(Native Method)甲基od.java:498)org.apache.hadoop.util.RunJar.run(RunJar.java:234)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.Hive.registerAllFunctionsOnce上实例化org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient( Hive.java:226)org.apache.hadoop.hive.ql.metadata.Hive . (Hive.java:366)org.apache.hadoop.hive.ql.metadata.Hive.create(Hive.java:310 )org.apache.hadoop.hive.ql.metadata.Hive.getInternal(Hive.java:290)org.apache.hadoop.hive.ql.metadata.Hive.get(Hive.java:266)at org . apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:558)... 9更多引起:java.lang.RuntimeException:无法实例化org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient在org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1654)org.apache.hadoop.hive.metastore.RetryingMetaStoreClient . (Ret ryingMetaStoreClient.java:80)org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:130)atg.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:101)at org位于org.apache.hadoop的org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:3406)的.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:3367)位于org.apache.hadoop.hive.ql的org.apache.hadoop.hive.ql.metadata.Hive.getAllFunctions(Hive.java:3640)的.hive.ql.metadata.Hive.getMSC(Hive.java:3386) .metadata.Hive.reloadFunctions(Hive.java:236)位于org.apache.hadoop.hive.ql.metadata.Hive.registerAllFunctionsOnce(Hive.java:221)... 14更多引起:java.lang.reflect . 位于sun.reflect.NalConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorA)的sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)中的InvocationTargetException ccessorImpl.java:45)在org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1652)的java.lang.reflect.Constructor.newInstance(Constructor.java:423)中... 23更多引起by:MetaException(消息:在Metastore中找不到版本信息 . )atg.apache.hadoop.hive.metastore.ObjectStore.checkSchema(ObjectStore.java:7753)atg.apache.hadoop.hive.metastore.ObjectStore.verifySchema(ObjectStore.java:7731)at sun.reflect.NativeMethodAccessorImpl . 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)的sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)的java.lang.reflect.Method.invoke上的invoke0(Native Method)(Method.java: 498)在org.apache.hadoop.hive.metastore.RawStoreProxy.invoke(RawStoreProxy.java:101)位于com.sun.proxy . $ Proxy21.verifySchema(未知来源)位于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中的org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:84) . 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 回答

  • 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 .

相关问题