hive第一次安装成功之后一直可以正常使用,后来突然出现以下的问题:(可能自己动了hive元数据存储的库了)
通过hive命令可以正常进入hive的命令行,但是当输入show databases
命令时会报如下错误。
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
此时尝试了一下schematool -dbType mysql -initSchema
命令,结果报以下错误
大概意思是元数据状态不稳定(具体原因我也不是特别清楚)
解决办法:进入mysql,找到自己配置的hive元数据库如图所示(这是我自己的配置,每个人的可能不一样,去自己的hive配置文件中查找)
然后删除这个库:drop database hive_bd1811
;
切记:这个命令操作完之后,之前存储的东西就没有了,如果是生产环境一定不能用这种方式!!!!
然后执行schematool -dbType mysql -initSchema
命令就会成功
这个时候在进入hive命令行,输入show databases
命令就可以正常执行了
总结:这个方式不是特别好,虽然解决了问题,但是只是再允许删除元数据库的情况下解决的。但是从中可以看出问题一定是出现在元数据库上了。
欢迎评论,沟通!