haproxy实现hive的ha

Hive是facebook开源的一个非常伟大的工具,可以将hadoop中的数据用sql方式进行查询,比自己写map/reduce程序要方便很多。但是在实际使用中发现hive其实不够稳定,极少数情况会出现端口不响应或者进程丢失的问题,所以考虑将hive做成负载均衡的方式。或者更严格的说,叫做失效备份,避免出现某台个别的服务器连接数过大造成的端口不响应或者服务器故障造成无法查询。

前提是有2-3台服务器作为hive server,一台放置HAProxy。

一、安装配置HAProxy

#wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.20.tar.gz
#tar zxf haproxy-1.4.20.tar.gz
#mv haproxy-1.4.20 /opt/modules/haproxy
#cd /opt/modules/haproxy
#make TARGET=linux26

这样就编译完成了。

然后来配置HAProxy为四层代理,仅作为端口转发器使用。

global
                daemon
                nbproc 1
                pidfile /var/run/haproxy.pid
                ulimit-n 65535

####################
defaults
                mode tcp                         #mode { tcp|http|health },tcp 表示4层,http表示7层(对我们没用),health仅作为健康检查使用
                retries 2                          #尝试2次失败则从集群摘除
                option redispatch              #如果失效则强制转换其他服务器
                option abortonclose           #连接数过大自动关闭
                maxconn 1024                  #最大连接数
                timeout connect 1d           #连接超时时间,重要,hive查询数据能返回结果的保证
                timeout client 1d               #同上
                timeout server 1d    

你可能感兴趣的:(hadoop,hadoop集群,负载均衡,hadoop,hive)