1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 两台宿主机搭建keepalived+Haproxy+mysql实现高可用负载均衡集群(电脑有限弄了两台 更多台同理)

两台宿主机搭建keepalived+Haproxy+mysql实现高可用负载均衡集群(电脑有限弄了两台 更多台同理)

时间:2018-10-20 21:31:26

相关推荐

两台宿主机搭建keepalived+Haproxy+mysql实现高可用负载均衡集群(电脑有限弄了两台 更多台同理)

注意事项:

1.切记percona/percona-xtradb-cluster 的版本要统一,否则可能出现各种各样的问题

2.宿主机要关闭SELINUX。修改文件vi /etc/selinux/config,设置SELINUX为disabled,然后reboot机子

启动创建pxc服务

两台主机为:

宿主机1:192.168.10.4

宿主机2:192.168.10.6

主节点(在宿主机1上执行)

docker run -d --net=host -v /home/workspace/aliyun-pxc/data/node1:/var/lib/mysql \-v /home/workspace/aliyun-pxc/config/node1:/etc/percona-xtradb-cluster.conf.d \-e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=ALIYUNPXC \-e XTRABACKUP_PASSWORD=root --name=pxc1 --restart=always \percona/percona-xtradb-cluster:8.0.30-22.1 --lower_case_table_names=1 \--wsrep_node_address=192.168.10.4 --bind_address=192.168.10.4

子节点1(在宿主机2上执行)

docker run -d -v /home/workspace/aliyun-pxc/data/node2:/var/lib/mysql \-v /home/workspace/aliyun-pxc/config/node2:/etc/percona-xtradb-cluster.conf.d \-e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=ALIYUNPXC \-e XTRABACKUP_PASSWORD=root -e CLUSTER_JOIN=192.168.10.4 --net=host \--name=pxc2 --restart=always percona/percona-xtradb-cluster:8.0.30-22.1 \--lower_case_table_names=1 --wsrep_node_address=192.168.10.6 --bind_address=192.168.10.6

子节点需要将父节点中/home/workspace/aliyun-pxc/data/node1目录下的server-key.pem、server-cert.pem、client-key.pem、client-cert.pem、ca.pem传输到其他子节点,然后重启。

/home/workspace/aliyun-pxc/config/node*映射目录放f配置问题,如果无特别需求不创建f也行,使用默认配置。

机器多的话继续参考子节点1继续进行创建节点。

创建haproxy

haproxy配置文件(分别在所有宿主机的/home/workspace/haproxy/config目录创建haproxy.cfg)

global#工作目录chroot /usr/local/etc/haproxy#日志文件,使用rsyslog服务中local5日志设备(/var/log/local5),等级infolog 127.0.0.1 local5 info#守护进程运行daemondefaultslogglobalmodehttp#日志格式optionhttplog#日志中不记录负载均衡的心跳检测记录optiondontlognull#连接超时(毫秒)timeout connect 5000#客户端超时(毫秒)timeout client 50000#服务器超时(毫秒)timeout server 50000#监控界面listen admin_stats#监控界面的访问的IP和端口bind 0.0.0.0:8888#访问协议mode http#URI相对地址stats uri /dbs_monitor#统计报告格式stats realmGlobal\ statistics#登陆帐户信息stats auth admin:admin#数据库负载均衡listen proxy-mysql#访问的IP和端口(前面ip=0代表任何ip都可访问)bind 0.0.0.0:3306#网络协议mode tcp#负载均衡算法(轮询算法)#轮询算法:roundrobin#权重算法:static-rr#最少连接算法:leastconn#请求源IP算法:source balance roundrobin#日志格式option tcplog#在MySQL中创建一个没有权限的haproxy用户,密码为空。Haproxy使用这个账户对MySQL数据库心跳检测option mysql-check user haproxyserver NODE1 192.168.10.6:3406 check weight 2 maxconn 2000 server NODE2 192.168.10.4:3406 check weight 1 maxconn 2000option tcpka

注意:配置文件最后要有一个空行,否则会提示配置文件错误。

创建haproxy节点1

docker run -d -v /home/workspace/haproxy/config:/usr/local/etc/haproxy \--privileged --net=host --name haproxy01 --restart=always haproxy:2.3

创建haproxy节点2

docker run -d -v /home/workspace/haproxy/config:/usr/local/etc/haproxy \--privileged --net=host --name haproxy02 --restart=always haproxy:2.3

在两台宿主机上安装keepalived

安装

yum install keepalived

开机自启配置

systemctl enable keepalived

创建配置文件keepalived.conf(在/etc/keepalived目录下)

vrrp_instance VI_1 {state MASTER#这里是宿主机的网卡,可以通过ip a查看当前自己电脑上用的网卡名是哪个interface eth0virtual_router_id 100priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}#定义虚拟ip地址,必须要在和haproxy同一个网段virtual_ipaddress {192.168.10.100}}

重启keepalived服务

service keepalived restart

访问监听页面/连接数据库

http://192.168.10.100:8888/dbs_monitor

连接数据库( ip:192.168.10.100 端口:3306)

测试发现成功了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。