HiveHA机制源码分析

hive让大数据飞了起来,再也不须要专人写MR。日常咱们均可以用基于thrift的任意语言来调用hive。
不过爱恨各半,hive的thrift不稳定也是出了名的。很容易就出问题,让人机关用尽。惟一的办法就是不断kill,不断restart。
固然,咱们能够用haproxy来解决这个问题,关键,haproxy无论hive是否逻辑可用,不能执行逻辑的hive也“死马当活马”。
固然,搞的好的能够用 zookeeper,不过,它太“重”,并且无论hive的重启。


         Hive HA横空出世。只要指明它能够管理的服务器ip,端口,启动一个主控服务器,在其余服务器上启动节点服务,它就一切搞定。
        Hive HA原理是:
       将若干hive 实例归入一个资源池,而后对外提供一个惟一的接口,进行proxy relay。
      对于程序开发人员,就把它认为是一台超强“hive"就能够。每次它接收到一个HIVE查询链接后,都会轮询资源池里可用的hive 资源。
这样,能充分使用每一个hive server,减小压力。在拿到hive 链接后,Hive HA会首先进行逻辑可用测试,这个逻辑规则可自行配置。
      若是逻辑可用,则直接把客户端的HIVE 查询链接 relay到该hive server。
     若逻辑不可用,则将该hive server放入黑名单,而后继续读取池里其余hive server进行链接测试。
    Hive Ha每隔一段时间(可配置),对黑名单中的hive server进行处理,经过和节点管理服务器通信,重启该hive server。若是
重启后可用,则将该hive从黑名单中移除,加入资源池。服务器

相关文章
相关标签/搜索