负载均衡集群总结(Haproxy)
Posted zuoandfuturegirl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了负载均衡集群总结(Haproxy)相关的知识,希望对你有一定的参考价值。
环境:Centos 6.9,Mysql 8.0
首先要先配置mysql主从复制集,可以参考我的上一篇>>Mysql 主从复制总结(详细)
我的主节点在(master):192.168.110.76
两个从节点在(slave):192.168.110.77,192.168.110.78
负载均衡节点(proxy):192.168.110.69
HaProxy
HaProxy、Lvs、nginx
Nginx基于http 在web领域,路径解析功能很强大。曾经自己手动搭载过,不复杂。性能最低
Lvs(Linux 虚拟服务)性能最高
HaProxy基于Tcp可以代理mysql
下载地址:www.haproxy.org(FQ去下载,之后上传到master) 我下载的是1.7.10
步骤
首先,在主节点master创建用户授予权限,并确保可以同步到从节点。
create user ‘test‘@‘192.168.110.%‘ identified by ‘Test_123456‘;
grant all on *.* to ‘test‘@‘192.168.110.%‘;
解压好haproxy文件准备编译安装它 tar -zxvf haproxy-1.7.10.tar.gz
然后使用 make TARGET=linux26(linux内核)
提示没有安装gcc。安装:yum install gcc-c++
安装完成后从新进行编译。(很快)
编译成功下一步,进行安装 make install PREFIX=/usr/local/haproxy
接下来进入/usr/local/haproxy,创建一个conf文件夹放置我们的配置文件。mkdir conf ; cd conf ; touch haproxy.cnf;vim haproxy.cnf
global daemon #后台方式运行 nbproc 1 pidfile /usr/local/haproxy/conf/haproxy.pid defaults mode tcp #默认的模式mode{tcp|http|health},tcp是4层,http是7层,health只会返回ok retries 2 #两次链接失败就认为是服务器不可用,也可以通过后面设置 option redispatch #当serverId对应的服务器挂掉后,强制指定向到其他健康的服务器 option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接 maxconn 4096 #默认的最大连接数 timeout connect 5000ms #链接超时 timeout client 30000ms #客户端超时 timeout server 30000ms #服务器超时 #timeout check 2000 #=心跳检测超时 log 127.0.0.1 local0 err #[err warning info debug] ##################test1配置##################### listen test1 #这里是配置负载均衡,test1是名字,可以任意 bind 0.0.0.0:3306 #这里是监听的IP地址和端口,本机就是0.0.0.0端口号可以是0~6553之间,要避免端口冲突 mode tcp #链接的协议tcp #maxconn 4086 #log 127.0.0.1 local0 debug server s1 192.168.110.77:3306 #负载机器 server s2 192.168.119.78:3306 #负载机器,多个往下排
echo 1 > haproxy.pid
./sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cnf 启动haproxy 配置完成!
数据库访问连接访问的是proxy结点的ip,用户名和密码是刚创建的test。
问题
可能是因为我的mysql使用的是8.0,在远程连接的时候出现
authentication plugin ‘caching_sha2_password‘ cannot be loaded的错误。
有两种解决办法:
1、ALTER USER ‘username‘@‘IP‘ IDENTIFIED WITH mysql_native_password BY ‘password‘;
2、修改/etc/my.cnf
default_authentication_plugin=mysql_native_password 并从新启动mysql服务。
以上是关于负载均衡集群总结(Haproxy)的主要内容,如果未能解决你的问题,请参考以下文章