无法重新初始化元存储

时间:2019-08-05 13:58:41

标签: mysql hadoop hive bigdata

Update2
我放弃了有关降级配置单元metastore的想法。默认情况下,schemetool不支持该功能,如果您查看其帮助信息。将此线程留在此处以提醒以后的访问者:

  1. 当您无法为mysql metastore初始化hive的架构时,可能是因为当前配置单元二进制文件的版本与您初次初始化metastore的二进制文件不同。
  2. 降级配置单元metastore并不是一个好主意。也许您应该坚持使用更高版本的配置单元。

更新1 我发现问题可能与Hive的版本不一致有关。 我首先安装了Hive 3.x,还初始化了metastore。 当前,由于某些不可避免的原因,我需要将Hive从3.x降级到2.x。 因此问题就变成了如何降级Hive安装(主要是关于如何将Hive metastore从3.x重新初始化为2.x)

原始
我正在将Mysql用作Hive元存储。 我尝试通过schematool -dbType mysql -initSchema --verbose重新初始化元存储,但是,我遇到以下错误:

Error: Duplicate key name 'PCS_STATS_IDX' (state=42000,code=1061)
Closing: 0: jdbc:mysql://10.1.2.209:3306/metastore?createDatabaseIfNotExist=true
org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !!
Underlying cause: java.io.IOException : Schema script failed, errorcode 2
org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !!
        at org.apache.hive.beeline.HiveSchemaTool.doInit(HiveSchemaTool.java:590)
        at org.apache.hive.beeline.HiveSchemaTool.doInit(HiveSchemaTool.java:563)

SO上的现有解决方案是关于derby数据库,关于如何使用mysql数据库解决此问题的想法?

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,正如Bruno所说的那样,我删除了与Hive有关的所有内容,再次可以。

这是我要做的是登录mysql,并删除数据库:

drop database hive;

您不需要删除数据库用户。

然后重新创建数据库。