Hive HA开源项目

我要开发同款
匿名用户2013年10月31日
30阅读
开发技术PHP
所属分类大数据、其他
授权协议GPL

作品详情

hive让大数据飞了起来,不再需要专人写MR。平常我们都可以用基于thrift的任意语言来调用hive。

不过爱恨各半,hive的thrift不稳定也是出了名的。很容易就出问题,让人无计可施。唯一的办法就是不断kill,不断restart。当然,我们可以用haproxy来解决这个问题,关键,haproxy不管hive是否逻辑可用,不能执行逻辑的hive也“死马当活马”。当然,搞的好的可以用zookeeper,不过,它太“重”,而且不管hive的重启。

         HiveHA横空出世。只要指明它可以管理的服务器ip,端口,启动一个主控服务器,在其他服务器上启动节点服务,它就一切搞定。

       HiveHA原理是:

      将若干hive实例纳入一个资源池,然后对外提供一个唯一的接口,进行proxyrelay。

     对于程序开发人员,就把它认为是一台超强“hive"就可以。每次它接收到一个HIVE查询连接后,都会轮询资源池里可用的hive资源。这样,能充分使用每个hiveserver,减少压力。在拿到hive连接后,HiveHA会首先进行逻辑可用测试,这个逻辑规则可自行配置。     如果逻辑可用,则直接把客户端的HIVE查询连接relay到该hiveserver。    若逻辑不可用,则将该hiveserver放入黑名单,然后继续读取池里其他hiveserver进行连接测试。   HiveHa每隔一段时间(可配置),对黑名单中的hiveserver进行处理,通过和节点管理服务器通讯,重启该hiveserver。如果重启后可用,则将该hive从黑名单中移除,加入资源池。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论