hive连接mysql锁_Hive中的锁

@Hive中的锁

1. Hive出现死锁的场景

前面遇到过一次因为Hive中表被锁住了,导致定时任务一直失败。原因是连接hiveserver2过于频繁,mysql连接被打满,引发的连锁反应,导致我们的任务一直失败。

在执行insert into或insert overwrite任务时,中途手动将程序停掉,会出现卡死情况(无法提交MapReduce),只能执行查询操作,而drop 、insert操作均不可操作,无论执行多久,都会保持卡死状态

2. 查看Hive中的死锁

查看Hive的中死锁,可以使用**show locks [tableName]**来查看

hive>show locks history_helpers;

df24b536d6c180b128bb71fbfb7e0bc9.png

可以看到里面的那个Type下的EXCLUSIVE,这是一种互斥锁,需要解决,否则后续的查询和插入任务都会影响

3. Hive中死锁的机制

hive存在两种锁,共享锁**Shared (S)和互斥锁Exclusive (X)**

锁SXS是否

X否否

锁的基本机制是:

元信息和数据的变更需要互斥锁

数据的读取需要共享锁

触发共享锁的操作是可以并发执行的,但是触发互斥锁,那么该表和该分区就不能并发的执行作业了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值