SJ.*_*ari 4 cluster load-balancing haproxy
我正在使用 HAProxy 对我的两个 tomcat 后端服务器上的传入请求进行负载平衡。在配置文件中,当我指定 HAProxy 侦听安装了 HAProxy 的同一台机器时,一切都很好,它开始像魅力一样工作。我需要 HAProxy 来侦听另一台机器上的虚拟 IP(以便我可以安装另一个 LB 作为故障转移),但是当我配置 HAProxy 这样做时,我在启动 HAProxy 时收到此错误:
无法为代理 http_proxy 绑定套接字。中止。
这是我的配置文件:
global
maxconn 4096 # Total Max Connections. This is dependent on ulimit
daemon
nbproc 4
defaults
mode http
clitimeout 60000
srvtimeout 30000
contimeout 4000
option httpclose # Disable Keepalive
listen http_proxy 10.0.5.99:80 #the virtual IP I want to listen to
mode http
stats enable
stats auth xxx:xxx
balance source # Load Balancing algorithm
option httpchk
option forwardfor # This sets X-Forwarded-For
## Define your servers to balance
server web1 10.0.5.102:8080 weight 1 maxconn 512 check
server web2 10.0.5.103:8080 weight 1 maxconn 512 check
Run Code Online (Sandbox Code Playgroud)
我正在使用安装在某些虚拟机上的 CentOS 5.1。不得不说,我把远程机器上的iptables服务彻底停止了,问题依旧。我想某些东西正在干扰远程机器中的 haproxy。有任何想法吗?
cjc*_*cjc 10
您也可以通过添加允许进程绑定到一个非本地(即不存在的IP)net.ipv4.ip_nonlocal_bind=1来/etc/sysctl.conf运行sysctl -p。但是 sysadmin1138 是有效的:您可能想看看您是如何设计故障转移的。
当按照您所说的方式进行故障转移配置时,我发现最好让集群机制处理 IP 地址的移动,而不是在 HAProxy 中以某种方式进行。您将虚拟 IP 地址配置为在节点之间移动,然后将其配置为让服务 (HAproxy) 遵循该虚拟 IP。然后,您将 HAProxy 配置为仅侦听虚拟 IP。这是有效的,因为它是集群软件在 HAproxy 进程移动时启动和停止的,您不需要从正常服务中执行此操作。
| 归档时间: |
|
| 查看次数: |
22189 次 |
| 最近记录: |