当前位置:   article > 正文

Hive启动报错Caused by MetaException message Version information not found in metastore_caused by: metaexception(message:version informati

caused by: metaexception(message:version information not found in metastore.

1.问题错误:

Caused by: MetaException(message:Versioninformation not found in metastore. )

Caused by: javax.jdo.JDODataStoreException:Required table missing : "`VERSION`" in Catalog "" Schema"". DataNucleus requires this table to perform its persistenceoperations. Either your MetaData is incorrect, or you need to enable"datanucleus.autoCreateTables"

2.前置条件:

3.问题重现:

  1. [root@h1 hive]# tail -100fhadoop-cmf-hive-HIVEMETASTORE-h1.log.out
  2. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  3. atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  4. atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  5. at java.lang.reflect.Method.invoke(Method.java:606)
  6. at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
  7. at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
  8. 2016-01-30 16:28:06,951 INFO org.apache.hadoop.hive.metastore.HiveMetaStore:[Thread-3]: Shutting down hive metastore.
  9. 2016-01-30 16:31:13,929 WARN DataNucleus.Query: [main]: Query forcandidates of org.apache.hadoop.hive.metastore.model.MVersionTable andsubclasses resulted in no possible candidates
  10. Required table missing :"`VERSION`" in Catalog "" Schema "". DataNucleusrequires this table to perform its persistence operations. Either your MetaDatais incorrect, or you need to enable "datanucleus.autoCreateTables"
  11. org.datanucleus.store.rdbms.exceptions.MissingTableException:Required table missing : "`VERSION`" in Catalog "" Schema"". DataNucleus requires this table to perform its persistenceoperations. Either your MetaData is incorrect, or you need to enable"datanucleus.autoCreateTables"
  12. at org.datanucleus.store.rdbms.table.AbstractTable.exists(AbstractTable.java:485)
  13. atorg.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.performTablesValidation(RDBMSStoreManager.java:3380)
  14. at org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.addClassTablesAndValidate(RDBMSStoreManager.java:3190)
  15. atorg.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.run(RDBMSStoreManager.java:2841)
  16. atorg.datanucleus.store.rdbms.AbstractSchemaTransaction.execute(AbstractSchemaTransaction.java:122)
  17. atorg.datanucleus.store.rdbms.RDBMSStoreManager.addClasses(RDBMSStoreManager.java:1605)
  18. at org.datanucleus.store.AbstractStoreManager.addClass(AbstractStoreManager.java:954)
  19. atorg.datanucleus.store.rdbms.RDBMSStoreManager.getDatastoreClass(RDBMSStoreManager.java:679)
  20. atorg.datanucleus.store.rdbms.query.RDBMSQueryUtils.getStatementForCandidates(RDBMSQueryUtils.java:408)
  21. atorg.datanucleus.store.rdbms.query.JDOQLQuery.compileQueryFull(JDOQLQuery.java:947)
  22. atorg.datanucleus.store.rdbms.query.JDOQLQuery.compileInternal(JDOQLQuery.java:370)
  23. at org.datanucleus.store.query.Query.executeQuery(Query.java:1744)
  24. at org.datanucleus.store.query.Query.executeWithArray(Query.java:1672)
  25. at org.datanucleus.store.query.Query.execute(Query.java:1654)
  26. at org.datanucleus.api.jdo.JDOQuery.execute(JDOQuery.java:221)
  27. at org.apache.hadoop.hive.metastore.ObjectStore.getMSchemaVersion(ObjectStore.java:6957)
  28. atorg.apache.hadoop.hive.metastore.ObjectStore.getMetaStoreSchemaVersion(ObjectStore.java:6941)
  29. at org.apache.hadoop.hive.metastore.ObjectStore.checkSchema(ObjectStore.java:6899)
  30. atorg.apache.hadoop.hive.metastore.ObjectStore.verifySchema(ObjectStore.java:6883)
  31. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  32. atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  33. atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  34. at java.lang.reflect.Method.invoke(Method.java:606)
  35. atorg.apache.hadoop.hive.metastore.RawStoreProxy.invoke(RawStoreProxy.java:98)
  36. atcom.sun.proxy.$Proxy5.verifySchema(Unknown Source)
  37. atorg.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:575)
  38. atorg.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:623)
  39. atorg.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:464)
  40. atorg.apache.hadoop.hive.metastore.RetryingHMSHandler.<init>(RetryingHMSHandler.java:78)
  41. at org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:84)
  42. atorg.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:5775)
  43. atorg.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:5770)
  44. atorg.apache.hadoop.hive.metastore.HiveMetaStore.startMetaStore(HiveMetaStore.java:6022)
  45. atorg.apache.hadoop.hive.metastore.HiveMetaStore.main(HiveMetaStore.java:5947)
  46. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  47. atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  48. atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  49. at java.lang.reflect.Method.invoke(Method.java:606)
  50. at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
  51. at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
  52. 2016-01-30 16:31:13,958 ERRORorg.apache.hadoop.hive.metastore.HiveMetaStore: [main]:MetaException(message:Version information not found in metastore. )
  53. atorg.apache.hadoop.hive.metastore.ObjectStore.checkSchema(ObjectStore.java:6902)
  54. atorg.apache.hadoop.hive.metastore.ObjectStore.verifySchema(ObjectStore.java:6883)
  55. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  56. atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  57. atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  58. at java.lang.reflect.Method.invoke(Method.java:606)
  59. atorg.apache.hadoop.hive.metastore.RawStoreProxy.invoke(RawStoreProxy.java:98)
  60. at com.sun.proxy.$Proxy5.verifySchema(Unknown Source)
  61. at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:575)
  62. atorg.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:623)
  63. atorg.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:464)
  64. atorg.apache.hadoop.hive.metastore.RetryingHMSHandler.<init>(RetryingHMSHandler.java:78)
  65. atorg.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:84)
  66. at org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:5775)
  67. atorg.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:5770)
  68. atorg.apache.hadoop.hive.metastore.HiveMetaStore.startMetaStore(HiveMetaStore.java:6022)
  69. atorg.apache.hadoop.hive.metastore.HiveMetaStore.main(HiveMetaStore.java:5947)
  70. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  71. atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  72. atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  73. at java.lang.reflect.Method.invoke(Method.java:606)
  74. at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
  75. at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

4原因分析:

datanucleus.autoCreateSchema=true

表示在操作JDO API的时候对应的数据库表还没有创建的话会根据实体的元数据自动创建表

 

另外hive.metastore.schema.verification这个参数:

防止架构版本不兼容时的 Metastore 操作。考虑将此设置为“True”,以减少 Metastore 操作期间发生架构损坏的可能性

注意,将此属性设置为“True”,还会将 datanucleus.autoCreateSchema 属性设置为“False”

 




5解决方案:


修改CDH中hive的配置:

datanucleus.autoCreateSchema=true

datanucleus.metadata.validate=false

hive.metastore.schema.verification=false

 

如下图


修改完配置,重启hive服务问题解决。


 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号