由于在生产环境使用了mysqlcluster,需要实现高可用负载均衡,选用keepalived+haproxy来实现。
1.Mysql Cluster安装
参考 CentOS 6.3 安装 mysql-cluster-gpl-7.4.7
https://www.iteye.com/blog/maosheng-2249106
2.haproxy安装(haproxy-1.3.15.10)
参考CentOS 6.3 安装 HAProxy
https://www.iteye.com/blog/maosheng-2256676
haproxy配置文件:
# vi /etc/haproxy/haproxy.conf
global
maxconn 4096
pidfile /var/run/haproxy.pid
daemon
nbproc 1
defaults
log global
mode http
retries 3
option redispatch
option httplog
option httpclose
option abortonclose
maxconn 4096
timeout connect 50000
timeout client 50000
timeout server 50000
listen mysql_proxy
bind 172.16.10.75:3366
mode tcp
option tcpka
option httpchk
balance roundrobin
server mysqldb1 172.16.10.70:3306 weight 1
server mysqldb1 172.16.10.71:3306 weight 1
listen stats
bind 172.16.10.75:8888
mode http
option httpclose
option httplog
stats refresh 5s
balance roundrobin
stats uri /
stats realm Haproxy\ Statistics
stats auth admin:admin
3.keepalived安装
参考CentOS 6.3 安装 Keepalived
https://www.iteye.com/blog/maosheng-2238747
参考Keepalived+Nginx 实现双机热备
https://www.iteye.com/blog/maosheng-2242594
keepalived配置文件:
Master:
# vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id HAProxy_DEVEL_1
}
vrrp_script chk_http_port {
script "/etc/keepalived/check_haproxy.sh"
interval 2
weight 2
}
vrrp_instance VI_1 {
state MASTER #实例状态,只有MASTER 和 BACKUP两种状态,并且需要全部大写。抢占模式下,其中MASTER为工作状态,BACKUP为备用状态。
interface eth0 #指定绑定虚拟IP的网络接口
virtual_router_id 51 #VRRP组名,两个节点的设置必须一样,以指明各个节点属于同一个VRRP组
priority 101 #主节点的优先级(1--255),备节点必须比主节点优先级低
advert_int 1 #组播信息发送间隔,两个节点设置必须一样
authentication { #设置验证信息,两个节点设置必须一样
auth_type PASS
auth_pass 1111
}
track_script {
chk_http_port
}
virtual_ipaddress { #指定虚拟IP(VIP),两个节点设置必须一样,虚拟IP地址池,可以有多个IP,每个IP占一行,不需要指定子网掩码。注意:这个IP必须与我们的设定的vip保持一致
172.16.10.75
}
}
Backup:
# vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id HAProxy_DEVEL_2
}
vrrp_script chk_http_port {
script "/etc/keepalived/check_haproxy.sh"
interval 2
weight 2
}
vrrp_instance VI_1 {
state MASTER #实例状态,只有MASTER 和 BACKUP两种状态,并且需要全部大写。抢占模式下,其中MASTER为工作状态,BACKUP为备用状态。
interface eth0 #指定绑定虚拟IP的网络接口
virtual_router_id 51 #VRRP组名,两个节点的设置必须一样,以指明各个节点属于同一个VRRP组
priority 100 #主节点的优先级(1--255),备节点必须比主节点优先级低
advert_int 1 #组播信息发送间隔,两个节点设置必须一样
authentication { #设置验证信息,两个节点设置必须一样
auth_type PASS
auth_pass 1111
}
track_script {
chk_http_port
}
virtual_ipaddress { #指定虚拟IP(VIP),两个节点设置必须一样,虚拟IP地址池,可以有多个IP,每个IP占一行,不需要指定子网掩码。注意:这个IP必须与我们的设定的vip保持一致
172.16.10.75
}
}
配置侦测haproxy状态脚本:
# vi /etc/keepalived/check_haproxy.sh
#!/bin/bash
A=`ps -C haproxy --no-header |wc -l`
if [ $A -eq 0 ];then
/usr/local/haproxy-1.3.15.10/sbin/haproxy -f /etc/haproxy/haproxy.conf
sleep 3
if [ `ps -C haproxy --no-header |wc -l` -eq 0 ];then
/etc/init.d/keepalived stop
fi
fi
4.haproxy检查
http://172.16.10.75:8888/
- 大小: 53.1 KB
分享到:
相关推荐
此外,还需要在集群节点上配置Haproxy的配置文件,以便实现负载均衡和故障转移。 Keepalived是另一个重要的组件,它用于管理虚拟IP地址,并监控集群中各个节点的健康状态,以实现高可用性。当主节点发生故障时,...
基于mysql的负载均衡有很多种方式,如haproxy,前面一篇博客有介绍,还可以用更高效lvs做负载均衡,下面是基于percona xtradb cluster的三个节点的多主复制+atlas的lvs负载均衡,其实这里是不需要用atlas的,因为...
在本文中,我们将探讨如何利用Keepalived和HAProxy这两个工具来实现MySQL数据库的高可用负载均衡,特别是在使用了MySQL Cluster的情况下。 **Keepalived的作用** Keepalived的主要目标是提供故障隔离和负载均衡器...
在部署MariaDB Galera Cluster时,通常会使用负载均衡器如haproxy,以及keepalived来避免单点故障。例如,在一个配置中,可能有两个haproxy实例和三个MariaDB节点,外加一个仲裁节点(garbd)以决定集群状态。SST...
在本篇文件中,Haproxy的集群部署主要包括安装Haproxy、编辑/etc/haproxy/haproxy.conf配置文件,设置监听地址、负载均衡策略、健康检查等。 5. Keepalived部署配置:Keepalived是一种用于实现高可用的软件。在本篇...
mysql分布式集群架构视频,包含linux上安装mysql,主从复制、主主复制、负载均衡、haproxy监控、高可用、keepalived、分库分表、数据库中间件-mycat、以及mycat的各种使用,自己学的这个视频,60多集,挺不错的
为了提高MySQL复制的可扩展性(Scale-Out),可以通过增加额外的从服务器来实现读负载均衡和增加备份节点。这为大型应用提供了更好的性能和可靠性。 在故障转移(Fail-Over)方面,MySQL复制可以手动或半自动地将...
`option mysql-check`指定使用MySQL健康检查,`balance roundrobin`指定了负载均衡策略为轮询,然后列出了三个MariaDB节点的IP和端口,并设置了权重,权重高的节点会接收更多的请求。 配置完毕后,使用`sudo ...
为解决这些问题,文档提出了一种云化的高可用数据平台架构,它结合了数据库代理(DBProxy)、应用数据缓存(如Redis)和负载均衡(HAProxy)等技术,形成了一套集高可用和横向扩展能力于一体的解决方案。这种架构...
PXC (Percona XtraDB Cluster) 是一种基于MySQL的高可用集群解决方案,它通过多节点复制、数据分片和负载均衡等策略来实现数据的高可用性和高性能。 - **高可用性**:PXC集群由多个节点组成,当其中一个节点发生...
为了解决这些问题,各种高可用方案被采用,如【Pacemaker/Keepalived/MHA/MySQL Cluster】等,但它们配置复杂,可能存在脑裂问题,且在关键时刻不敢切换,可能导致数据不完整。此外,冷备策略浪费了资源,不支持自动...
书中会涵盖高可用性(HA)集群、负载均衡器(Load Balancer)的配置,如Keepalived、HAProxy、LVS等,以及分布式文件系统如GlusterFS和Ceph的使用。此外,还会讲解如何实现数据库集群(如MySQL的InnoDB Cluster)和应用...
还将安装RabbitMQ、Keepalived、Haproxy和MySQL/Galera等其他组件来支持集群运行。 需要一个单独的 glusterfs 集群来提供 Glance 图像存储库和其他共享服务。 如果要支持跨不同管理程序的 VM 迁移,集群对于 nova ...