• hive 锁表解决方案(unlock不掉的情况下)


    网上很多  去使用set 临时关闭锁表配置文件的,千篇一律还不能根本解决问题,反倒是关闭锁表之后可能产生其他潜在的问题。不建议关闭。

    ------------------------------

    本人实践后的,比较妥帖的方案,

    show locks extended; 查找到具体哪些语句加了锁;
    然后复制锁表语句到hue中运行,运行成功即可解锁;//或者在命令行调用hive命令运行sql文件,目的就是为了加锁语句顺利执行,锁
    自然会消失。
     zookeeper中保存了,锁表的node节点信息,可以打开,观察语句在hue运行后,锁是否还在。
    ---------------------------------
    目前,这个问题,没有完全彻底的解决方案,这与hive本身的锁机制有很大关系,从cloudera官方论坛里的讨论也可以看出,
    无非就是这么四种:(在unlock不掉锁的情况下)
    第一,set hive.support.concurrency=false; 默认为true,即临时关闭锁;
    第二,有人建议,直接去删除掉 zookeeper中的 lock锁节点,但是还没有人亲身测试过,且直接删除节点的风险很大。
    第三,通过show locks extended; 查到语句复制到hue然后执行通过,解锁。
    第四,查询hive metastore数据库,如果里边有锁记录,删除记录,解锁。但是就我的观察看,这个锁记录可能在老版本中是存放在metastore数据库的,
    新版本基本上都应该在zookeeper节点里边,所以,此方法可能只是部分版本有效。
    ------------------------------------------
    参考文章:
    http://belablotski.blogspot.com/2014/05/hive-concurrency-locking-tables-with.html
    https://etl.svbtle.com/hive-unlock-all-partitions
    https://blog.csdn.net/qq_27493503/article/details/80892454
  • 相关阅读:
    申请奖励加分
    寒假学习01
    加分项及建议
    12月30日总结
    12月17日 期末总结
    12月31日总结
    12月15日总结
    12月28日总结
    01月03日总结
    01月05日总结
  • 原文地址:https://www.cnblogs.com/telegram/p/10820869.html
Copyright © 2020-2023  润新知