hive查询数据一直卡住,最后报错

hive查询数据一直卡住,最后报错,第1张

然后删除NEXT_LOCK_ID一条记录。

NEXT_LOCK_ID 始终有锁,无法删除数据。;1、停止hiveserver2,MetaStore 服务;发现还有锁;2、查看hive应用进程 ps -ef|grep hive,全部杀掉,锁释放;3、然后删除NEXT_LOCK_ID一条记录;4、重启hiveserver2,MetaStore;5、查询hive 恢复正常。

原因可能是多个进程同时 *** 作,导致hive事务上的bug,插进了2条一样的数据,导致元数据库被锁以下几个hive元数据表跟hive的事务有关:NEXT_LOCK_ID;next_compaction_queue_id;next_txn_id;以上三个表出问题就有可能会报以下错误: error in acquiring locks: error communicating with the metastore.hive 卡死的原因很多,这个是其中之一,基本都hive metastore会有一些关系,大家可以按这个方向去定位原因,就能更快速寻找到问题的根源。

在对hive表执行alert的时候,发现卡住不动了,退出后重进尝试drop表,依然卡住不动。

找解决方案如下:

然而实际的情况不是这个样子的,我这边mysql里面明明就是utf-8,那么真相只有一个——锁表了!

那么只能自己想想办法了

进入hive,执行

查看锁表情况,发现如下

可以看到里面的那个Blocked By下的EXCLUSIVE

于是开始尝试解锁:

但是给我报错了:

但是再次使用 show locks 发现之前的锁没了

之前遇到怎么都删不掉的情况,解决办法是执行:

这个是hive的锁机制,可以暂时关掉,默认是true。关掉之后就可以删除表了,删掉之后可以再把它设置为true。但是会有遗留问题,我们会发现那个锁依旧没掉!

这时候需要去执行

然后再去unlock那个锁!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9546738.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存