hive执行卡住 Launching Job 1 out of 1 Starting task [Stage-1] in serial mode

hive执行表操作指令卡死问题的解决

在对hive表执行从一张表查询所有数据,然后覆写到另一张表时候,发现卡住不动了,退出后重进尝试drop表,依然卡住不动。

  • 报错如下所示:
Launching Job 1 out of 1 Starting task [Stage-1] in serial mode

操作其他表发现正常

查询发现表锁了,解决

进入hive,执行

show locks;

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

这里简单说一下:hive存在两种锁,共享锁Shared (S)和互斥锁Exclusive (X)
触发共享锁的操作是可以并发执行的
但是触发互斥锁,那么该表和该分区就不能并发的执行作业了。

于是开始尝试解锁:

unlock table 表名;

但是给我报错了:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. 
Current transaction manager does not support explicit lock requests.  Transaction manager:   
org.apache.hadoop.hive.ql.lockmgr.DbTxnManager
  • 发现无法解除锁操作,锁还在
  • 临时会话关闭锁设置
set hive.support.concurrency=false;

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

set hive.txn.manager = org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager;

然后再去unlock那个锁!

最后发现尽管表的锁解锁了,但是还是卡住

YARN的ResourceManager可能存在问题

  • 如果是hive 3.1.X版本,查看一下hive on Tez是否正常,因为Hive 3.X版本已经将引擎改完Tez了。
  • 重启yarn服务。
    如果以上方法都没有解决,可查看hive的日志,继续排查错误。
  • 我的hive的日志目录 ```/var/log/hive/hadoop-cmf-hive_on_tez-HIVESERVER2-m3.idss.com.log.out
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值