我在运行hive的时候,在验证hive是否配置成功的时候进行的步骤是输入show tables;然后就出现了以下的问题:
hive> show tables;
FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
之后进入debug模式找问题,输入show tables之后:
向各位朋友请教,这是什么原因?
这个错误提示是你没有开启metastore,原因有两个:
1 没有在保存hive元数据的数据库(mysql或者oracle)中建立metastore元数据库,建立后记得赋予这个数据库远程访问权限,同时需要在hive的配置文件中将元数据库设置为该数据库举例如下:mysql> create database metastore_db;
mysql> create user 'hive'@'localhost' identified by '123456';
mysql> grant all on metastore_db.* to 'hive'@'%' IDENTIFIED BY '123456' with grant option;
(密码尽量和用户名不要重复) mysql> flush privileges;
2 在hive客户端没有开启metastore和hiveserver服务,操作如下:
`bin/hive --service metastore &
bin/hive --service hiveserver &`
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。