暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Hive系列 | javax.jdo.JDODataStoreException元数据缺失问题解决解决方法

72

今天小编在启动hive时,启动不起来了。报错信息如下:

Caused by: javax.jdo.JDODataStoreException: Exception thrown obtaining schema column information from datastore

NestedThrowables:

java.sql.SQLException: View 'hive.v_activity_info' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them


怎么也想不明白一直可以正常启动的hive怎么突然启动不起来,后来突然想起来,前段时间,在做测试时,有删除过MySQL中hive数据库下面的一些表,应该是误删了什么表。

解决方法如下:

  1. 登录MySQL,删除hive数据库。

    mysql -u [mysql用户名] -p

    回车后输入密码,进入mysql。

    删除hive数据库 drop database hive;

  2. 在$HIVE_HOME/bin目录下,执行hive初始化mysql命令:

    schematool -initSchema -dbType mysql


这种解决方法操作过以后,之前的hive数据可能没了,文件还在的,可以把表结构捡回来可能就有了。这个小编也还没来得及测试,有需要的小伙伴可以自己测试一下。


PS:

小编是在自己搭建的测试集群中发生的这种元数据异常的问题,虽然这一般都可以通过删除mysql里面的数据库,然后再通过初始化来解决。

但是这样的话,也会导致hive数据丢失,如果是在生产环境的话,是不允许这么做的,一般来说,是手动去把那个元数据补回来。

文章转载自数据分析记事本,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论