【问题标题】:Getting MissingTableException: Required table missing VERSION when starting hive metastore on mysql获取 MissingTableException:在 mysql 上启动 hive 元存储时缺少所需的表版本
【发布时间】:2018-05-06 09:31:46
【问题描述】:

使用 mysql 的 Hive 作为元数据存储停止工作:

Caused by: org.datanucleus.store.rdbms.exceptions.MissingTableException: 
Required table missing : "`VERSION`" in Catalog "" Schema "". DataNucleus
requires this table to perform its persistence operations. Either your 
MetaData is incorrect, or you need to enable "datanucleus.autoCreateTables"

设置 autoCreateTables 也不起作用:

<property>
<name>datanucleus.autoCreateTables</name>
<value>True</value>
</property>

那么如何解决这个问题?

【问题讨论】:

    标签: mysql hive


    【解决方案1】:

    转到 $HIVE_HOME 并在 schematool 上运行 initschema 选项:

    bin/schematool -dbType mysql -initSchema
    

    【讨论】:

    • 我一直在尝试用 hive 配置 mysql,每次遇到错误我都不明白我哪里出错了.....正如你在这个链接 gist 中看到的那样.github.com/anonymous/bb86629116891e5b2d8c30b95aca9aee hive-site.xml 配置可以在链接中看到 gist.github.com/anonymous/44f1c9fc214136a113067cf3b4b72794 这是文件结构 gist.github.com/anonymous/e02b3631da92107df88052>272107df
    • @KJ_kaka 请为此创建一个单独的问题。
    • 这对我有用——使用 derby 而不是 mysql:bin/schematool -dbType derby -initSchema
    • 但是 HIVE_HOME 不是 Spark 独立的一部分,对吧? Metastore 是来自 Spark 独立而不是 Hive 的东西。当您尝试从糟糕的德比中迁移时,您遇到了这些错误?
    【解决方案2】:

    检查您的权限,您使用的用户很可能没有创建权限的权限。

    这是我的场景

    我在 Cloudera manager 5.7.6 上安装 Sentry 服务时遇到了同样的错误。我已将哨兵数据库设置为 MySQL 数据库。 全部在 GUI 和 6 个步骤过程中,此问题发生在第 5 个

    让你感到困惑的是任务说"Create Sentry Database Tables" 'Successfully created Sentry database tables',但它只检查对数据库的访问。

    在我获得更改权限后,它起作用了。

    【讨论】:

      猜你喜欢
      • 2018-10-15
      • 1970-01-01
      • 2013-11-26
      • 2016-04-28
      • 1970-01-01
      • 2022-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多