我是MariaDB galera集群负载平衡的新手,我正在尝试使用HAProxy来实现负载平衡。我已经建立了MariaDB Galera集群,它运行得非常完美。
在Haproxy中,我为DB集群创建了一个VIP,如果我查看HAProxy统计页面,它会显示VIP和所有三个节点都是绿色的。我是这样配置它的:
#---------------------------------------------------------------------
# frontend_db_domain.com
#---------------------------------------------------------------------
frontend db_domain.com
bind ip:3306
mode tcp
option mysql-check user haproxy_check
default_backend back_db_domain.com
#---------------------------------------------------------------------
# backend_db_domain.com
#---------------------------------------------------------------------
backend back_db_domain.com
balance roundrobin
server db01.domain.com ip:3306 check
server db02.domain.com ip:3306 check
server db03.domain.com ip:3306 check我配置了一个wordpress站点来使用VIP地址,即db.domain.com和wordpress显示Error establishing a database connection。如果我使用直接命中节点的db主机名或ip,一切都可以正常工作。
这就是HAProxy日志中显示的内容:
Mar 24 04:07:27 localhost haproxy[22096]: 1.2.3.4:56022 [24/Mar/2022:04:07:16.987] domain.com~ back_domain.com/nginx01.domain.com 68/0/1/10095/10164 500 2842 - - ---- 3/1/0/0/0 0/0 "GET /webdesigns/website1/ HTTP/1.1"这是nginx日志:
45.77.206.174 - - [24/Mar/2022:04:07:27 +0000] "GET /webdesigns/website1/ HTTP/1.1" 500 2539 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0" "1.2.3.4"没有防火墙可以阻挡所有这些主机之间的任何东西。他们都可以互相联系。以下是如何配置db节点:
[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
#bind-address=0.0.0.0
# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib64/galera-4/libgalera_smm.so
# Galera Cluster Configuration
wsrep_cluster_name="test_cluster"
wsrep_cluster_address="gcomm://10.1.96.12,10.1.96.13,10.1.96.14"
# Galera Synchronization Configuration
wsrep_sst_method=rsync
# Galera Node Configuration
wsrep_node_address="10.1.96.14"
wsrep_node_name="db03"不知道我错过了什么,但我想我在HAProxy方面有一个错误的配置,但不确定它会是什么。我有其他的重要人物,但他们是为网络服务器和诸如此类的东西,所有的工作都很好。这是我第一个有问题的要人。我会感谢所有的帮助。
谢谢!
发布于 2022-03-25 20:05:57
所以,这就是我必须要做的来解决这个问题。
通过阅读,MariaDB集群似乎要在HAProxy中工作,您必须在TCP模式下这样做。我拥有的原始had对处于HTTP模式,因此MariaDB集群无法工作。
我必须构建一个新的had对,并在TCP模式下配置它,并且集群按照预期在haproxy中工作。不幸的是,在haproxy中,您似乎不能混合模式。
如果有人找到了一种混合模式的方法,或者如果它出现在未来的版本中,那就太棒了。
谢谢!
发布于 2022-03-24 06:09:01
cli检查您的vip是否在haproxy主机上工作\
https://stackoverflow.com/questions/71597019
复制相似问题