当前位置:  开发笔记 > 数据库 > 正文

java.lang.RuntimeException:无法实例化org.apache.hadoop.hive.metastore.HiveMetaStoreClient

如何解决《java.lang.RuntimeException:无法实例化org.apache.hadoop.hive.metastore.HiveMetaStoreClient》经验,为你挑选了3个好方法。

我已经在链接上配置了我的Hive:http://www.youtube.com/watch?v = Dqo1ahdBK_A,但是在Hive中创建表时出现以下错误.我使用hadoop-1.2.1和hive-0.12.0.

hive> create table employee(emp_id int,name string,salary double);
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient

SachinJ.. 44

您的Metastore看起来有问题.如果您使用默认的hive Metastore嵌入式德比.如果退出异常,锁定文件将存在.如果你删除该锁定文件,这个问题将得到解决

rm   metastore_db/*.lck


Ashex.. 9

这可能是像描述sachinjose的Metastore或连接问题的问题.以调试模式运行配置单元控制台,如下所示:

hive -hiveconf hive.root.logger=DEBUG,console

然后执行一个简单的查询show tables;,看看会发生什么.我在重新启动namenode后遇到了这个问题,这是由于配置文件中设置了错误的主机(ec2在重新启动时会生成新的私有IP /主机名).



1> SachinJ..:

您的Metastore看起来有问题.如果您使用默认的hive Metastore嵌入式德比.如果退出异常,锁定文件将存在.如果你删除该锁定文件,这个问题将得到解决

rm   metastore_db/*.lck



2> Ashex..:

这可能是像描述sachinjose的Metastore或连接问题的问题.以调试模式运行配置单元控制台,如下所示:

hive -hiveconf hive.root.logger=DEBUG,console

然后执行一个简单的查询show tables;,看看会发生什么.我在重新启动namenode后遇到了这个问题,这是由于配置文件中设置了错误的主机(ec2在重新启动时会生成新的私有IP /主机名).



3> Krishna Pras..:

从控制台运行此命令:

./hive -hiveconf hive.root.logger=DEBUG,console

现在跑

show databases;

如果您看到如下异常:

java.sql.SQLException: A read-only user or a user in a read-only database is not permitted to disable read-only mode on a connection.

这意味着metastore_db存在一些权限问题.您需要更改完整文件夹的权限.我正在运行我的hive作为hdfs用户.所以,我使用了命令

chown -R hdfs:hadoop * 

在hive目录中.这解决了这个问题.

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有