在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
这个应该是元数据的问题,hive的元数据存在mysql里面,所以如果你没有弄好mysql的权限,你的show databases是不可以用的。
解决办法:
1.首先检查你自己的hive-site.xml配置文件中的mysql账号和自己的创建hive_database的mysql账号是否一致。若不一致修改为创建了hive数据库的mysql账号。
2.mysql的权限问题
在mysql中:
grant all privileges on . to ‘root’@’%’ identified by ‘123’ with grant option;
grant all privileges on . to ‘root’@‘hadoop1’ identified by ‘123’ with grant option;
flush privileges; 刷新权限
3.hive的服务端没有打开
1)hive --service metastore &
2)然后Ctrl+C
3)再hive,进去