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
原文地址:http://4002804.blog.51cto.com/3992804/1856862