我使用haproxy作为mariadb galera集群的banlancer, 它可以正常连接并进行一些操作,但是在serval秒之后我想再次进行一些搜索但是在查询错误期间丢失连接。请看图像下方的错误。
这是我的haproxy.cfg
defaults
log global
mode tcp
option tcplog
option dontlognull
option http-server-close
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 50000ms
timeout server 50000ms
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
和haproxy.cfg中mariadb群集的余额
listen mariadb_cluster_writes 0.0.0.0:50613
## A failover pool for writes to ensure writes only hit one node at a time.
mode tcp
#option httpchk
option tcpka
option mysql-check user haproxy
server node65 172.27.12.65:3306 check weight 2
server node64 172.27.12.64:3306 check weight 1
server node67 172.27.12.67:3306 check weight 1
listen mariadb_cluster_reads 0.0.0.0:50614
## A load-balanced pool for reads to utilize all nodes for reads.
mode tcp
balance leastconn
#option httpchk
option tcpka
option mysql-check user haproxy
server node65 172.27.12.65:3306 check weight 1
server node64 172.27.12.64:3306 check weight 1
server node67 172.27.12.67:3306 check weight 1
有人有想法吗?
答案 0 :(得分:1)
我想我找到了原因.Haproxy本身对服务器和客户端有超时,我设置服务器超时和客户端超时和mysql超时8小时相同。现在好像这样:
defaults
log global
mode tcp
option tcplog
option dontlognull
option http-server-close
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 480m
timeout server 480m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
希望可以帮助别人。
然而我使用mariadb群集,它是主人和母亲 架构,所有节点都可以插入,所以我改了haproxy.cfg,现在好像这样:
# Global settings
global
log 127.0.0.1 local2
maxconn 4000
daemon
defaults
log global
mode tcp
#option tcplog
option dontlognull
option tcp-smart-accept
option tcp-smart-connect
option redispatch
retries 3
timeout connect 5s
timeout client 480m
timeout server 480m
listen admin_stats
bind 0.0.0.0:50613
mode http
maxconn 10
stats refresh 30s
stats uri /stats
stats realm XingCloud\ Haproxy
stats auth admin:admin
listen galera_back
bind :50614
balance leastconn
server node65 172.27.12.65:3306 check weight 1
server node64 172.27.12.64:3306 check weight 1
server node67 172.27.12.67:3306 check weight 1