赞
踩
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账号。
<property>
<!-- 数据库的用户名 -->
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<!-- 数据库的密码 -->
<name>javax.jdo.option.ConnectionPassword</name>
<value>123</value>
<description>password to use against metastore database</description>
</property>
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,进去
试试看会不会报错
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。