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               #同上

        timeout check 2000              #健康检查时间

        log 127.0.0.1 local0 err #[err warning info debug]


listen  admin_stats                     #定义管理界面

        bind 0.0.0.0:1090               #管理界面访问IP和端口

        mode http                       #管理界面所使用的协议

        maxconn 10          #最大连接数

        stats refresh 30s               #30秒自动刷新

        stats uri /                     #访问url

        stats realm Hive\ Haproxy       #验证窗口提示

        stats auth admin:123456         #401验证用户名密码


listen hive             #hive后端定义

        bind 0.0.0.0:10001              #ha作为proxy所绑定的IP和端口

        mode tcp                        #以4层方式代理,重要

        balance leastconn               #调度算法 'leastconn' 最少连接数分配,或者 'roundrobin',轮询分配

        maxconn 1024                    #最大连接数

        server hive_1 192.168.1.1:10000 check inter 180000 rise 1 fall 2

        server hive_2 192.168.1.2:10000 check inter 180000 rise 1 fall 2

    #释义:server 主机代名(你自己能看懂就行),IP:端口 每180000毫秒检查一次。也就是三分钟。

    #hive每有10000端口的请求就会创建一个log,设置短了,/tmp下面会有无数个log文件,删不完。




haproxy -f conf.cfg