失败:元数据错误:java.lang.runtimeexception:无法示例化org.apache.hadoop.hive.metastore.hivemetastoreclient

sd2nnvve  于 2021-06-03  发布在  Hadoop
关注(0)|答案(8)|浏览(453)

我在hdfs和hive示例运行时关闭了hdfs客户端。现在,当我重新登录到配置单元时,我无法执行任何ddl任务,例如“show tables”或“describe tablename”等。它给我的错误如下

ERROR exec.Task (SessionState.java:printError(401)) - FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient

有人能建议我需要做些什么来示例化metastore\u db而不重新创建表吗?否则,我必须再次重复创建整个数据库/模式的工作。

svdrlsy4

svdrlsy41#

例如,我使用mysql保存元数据db,我复制了
mysql-connector-java-5.1.22-bin.jar放入$hive\u home/lib文件夹
我的错误解决了

jhdbpxl9

jhdbpxl92#

请参阅:在配置单元中获取错误
您是否已将包含元数据数据库的jdbc驱动程序的jar复制到hive的lib dir中?
例如,如果您使用mysql来保存元数据数据库,您将需要复制
mysql-connector-java-5.1.22-bin.jar到$hive\u home/lib。
这为我修正了同样的错误。

vngu2lb8

vngu2lb83#

我也遇到了同样的问题,通过启动metastore服务解决了这个问题。有时,如果您的机器重新启动或停机,服务可能会停止。您可以通过运行以下命令启动服务:
作为登录 $HIVE_USER ```
nohup hive --service metastore>$HIVE_LOG_DIR/hive.out 2>$HIVE_LOG_DIR/hive.log &

g0czyy6m

g0czyy6m4#

我已经解决了这个问题。以下是我遵循的步骤:
转到$hive\u home/bin/metastore\u db
将db.lck复制到db.lck1,将dbex.lck复制到dbex.lck1
从db.lck和dbex.lck中删除了锁条目
从配置单元外壳以及所有正在运行的hdfs示例注销
重新登录到hdfs和hiveshell。如果运行ddl命令,可能会再次出现“无法示例化hivemetastoreclient错误”
现在将db.lck1复制回db.lck,将dbex.lck1复制回dbex.lck
从所有配置单元shell和hdfs示例注销
重新登录,你应该看看你的旧表
注意:第5步可能看起来有点奇怪,因为即使删除了锁条目,它仍然会给出hivemetastoreclient错误,但它对我有效。
优点:您不必重复重新创建整个数据库的工作。
希望这能帮助那些面临同样错误的人。如果你觉得有用,请投票。先谢谢

xvw2m8pv

xvw2m8pv5#

我被告知,如果配置单元控制台未正确终止,通常会出现此异常。解决方法:
运行jps命令,查找“runjar”进程并使用kill-9命令杀死它

pprl5pva

pprl5pva6#

我在配置单元服务器上遇到了类似的问题,并执行了以下步骤:
1转到$hive\u home/bin/metastore\u db
2将db.lck复制到db.lck1,将dbex.lck复制到dbex.lck1
三。从db.lck和dbex.lck中删除了锁条目
4从Hive壳重新登录。它正在工作
谢谢

qyyhg6bp

qyyhg6bp7#

我曾经面对过这个问题,在我的情况下,它是在运行时 hive 命令行中的命令。
在使用kerberized配置单元时,我通过运行kinit命令解决了这个问题。

kinit -kt <your keytab file location> <kerberos principal>
nwlqm0z1

nwlqm0z18#

我也面临着同样的问题,我发现我同时拥有hive-deafolt.xml和hive-site.xml(由我手动创建),
我将hive-site.xml移到了hive-site.xml模板(因为不需要这个文件),然后启动了hive,工作正常。
干杯,阿杰马尔

相关问题