hive -show databases报错,Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStore

问题一:

      刚配置完mysql作为hive的元数据库,成功启动hive后,执行命令show databases;

   报错。

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

解决办法:

       启动元数据服务:

hive --service metastore

再次执行 show databases;成功!

hive> show databases;
OK
default
Time taken: 0.03 seconds, Fetched: 1 row(s)

检查错误步骤:

    1.  确保mysql数据库中存在自己配置的元数据数据库(hive-site.xml中的数据库名称一定要存在,不存在自己创建一个)。

     2. 确保mysql的驱动包在/hive/lib目录下。

     3. 确保mysql的用户名和密码和hive-site.xml中的配置项一致。

     4.启动hive的元数据服务:hive --service metastore

问题二:

hive 执行删除 数据库表的时候报错:FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Exception thrown when executing query : SELECT DISTINCT 'org.apache.hadoop.hive.metastore.model.MPartition' AS `NUCLEUS_TYPE`,`A0`.`CREATE_TIME`,`A0`.`LAST_ACCESS_TIME`,`A0`.`PART_NAME`,`A0`.`PART_ID`,`A0`.`PART_NAME` AS `NUCORDER0` FROM `PARTITIONS` `A0` LEFT OUTER JOIN `TBLS` `B0` ON `A0`.`TBL_ID` = `B0`.`TBL_ID` LEFT OUTER JOIN `DBS` `C0` ON `B0`.`DB_ID` = `C0`.`DB_ID` WHERE `B0`.`TBL_NAME` = ? AND `C0`.`NAME` = ? ORDER BY `NUCORDER0` LIMIT 0,300 )

hive> select*from student;
OK
1000	ss
1001	ss2
Time taken: 1.502 seconds, Fetched: 2 row(s)
hive> drop table student;
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Exception thrown when executing query : SELECT DISTINCT 'org.apache.hadoop.hive.metastore.model.MPartition' AS `NUCLEUS_TYPE`,`A0`.`CREATE_TIME`,`A0`.`LAST_ACCESS_TIME`,`A0`.`PART_NAME`,`A0`.`PART_ID`,`A0`.`PART_NAME` AS `NUCORDER0` FROM `PARTITIONS` `A0` LEFT OUTER JOIN `TBLS` `B0` ON `A0`.`TBL_ID` = `B0`.`TBL_ID` LEFT OUTER JOIN `DBS` `C0` ON `B0`.`DB_ID` = `C0`.`DB_ID` WHERE `B0`.`TBL_NAME` = ? AND `C0`.`NAME` = ? ORDER BY `NUCORDER0` LIMIT 0,300 )

解决办法:

    这个错误一般是 mysql驱动包的问题,将mysql-connector-java换成新的版本即可解决。

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值