我已经设置了经过测试的 MariaDB Galera 集群,它在以下服务器上运行良好:db1 192.169.0.1 db2 192.169.0.2 db3 192.169.0.3
它们都运行在 CentOS-6.5 上,MariaDB 版本是 10.0
我的目标是使用 HAproxy 来执行负载平衡。我已经在单独的服务器上安装和配置了 HAproxy
db4 192.168.0.4
没有安装集群设置或 MariaDB,只有 HAproxy。问题是,HAproxy 似乎没有工作,即做负载平衡。它开始正常,我可以通过网络界面访问它:
http://192.168.0.4:9000/haproxy
但是服务器的状态显示它们已关闭,即使它们实际上已启动并在各自的计算机上运行。HAproxy 配置如下:
global
log 127.0.0.1 local0 notice
user haproxy
group haproxy
defaults
log global
retries 2
timeout connect 1000
timeout server 5000
timeout client 5000
listen mariadb-cluster
bind 0.0.0.0:3306
mode tcp
option mysql-check user haproxy
balance roundrobin
server db1 192.168.0.1:3306 check
server db2 192.168.0.2:3306 check
server db4 192.168.0.3:3306 check
listen webinterface
bind 0.0.0.0:9000
mode http
stats enable
stats uri /haproxy
stats realm Strictly\ Private
stats auth admin:password
db1、db2、db3 和 db4 只是每个服务器的主机名。因此,当我在第一台服务器上运行命令 #hostname 时,它将显示 db1。