然后从服务器池中移除。方法三:类似。方法四:使用脚本检测。
方法五:使用SMTP检测邮件服务,使用vrrp模块实现VRRP协议。
2.安装和配置
1. 在 上安装软件包
安装软件包和服务控制
在编译安装之前必须先安装内核开发包-devel和-devel,
支持诸如popt-devel之类的库。
如果没有安装,使用 rpm 或 yum 安装
编译并安装
使用指定的Linux内核位置配置,并指定安装路径为根目录,这样就不会
需要额外建立链接文件,配置完成后按顺序执行make、make即可安装。
.png-wh_50
注意:如果你不清楚需要哪些依赖包,你可以检查下载的源代码解压目录中的文件。
要从源代码安装任何软件,你应该养成查看源代码包文档的习惯,例如
、doc等文档,可以获取很多有用的信息
注意:您不需要添加 --with--dir 来在 .2 上安装
[root@ -1.2.20]# ./ --=/ && 制作 && 制作
使用服务
执行make操作后会自动生成/etc/init.d/脚本文件,不过还是需要手动添加
为了对系统进行服务,可以使用工具来管理服务程序。
.png-wh_50
主机也已完成安装。安装过程与
注意:如果防火墙已启用,则需要禁用它或创建规则。
注意:如果在.2上安装了防火墙规则,则配置如下:
[root@ ~]# -cmd -- --add-rich-rule="规则 =ipv4
=224.0.0.18 值=ip "
[root@ ~]# -cmd --
.png-wh_50
2.修改配置文件
配置文件.conf只有一个,主要包含以下几个配置区域:
, 和。
:主要配置故障发生时的通知对象及机器标识。
:用于定义对外提供服务的VIP区域及其相关属性。
:虚拟服务器定义
主机上.conf文件的修改:
vi /etc//.conf:
!File for //! 表示注释
{
MYSQL-1 //表示运行服务器的标识符
VI_1 {
state //指定的角色,两个配置都在这里,设置为
优先级决定主或从
eth0 //指定HA监控网络的接口
51 //虚拟路由标识符,此标识符是一个数字(值在0-255之间,用于区分多个
VRRP多播(VRRP ),同一个VRRP实例使用唯一标识,保证和相同,同一个网络内的不同集群必须有不同的项,否则会产生冲突。
100 //用于选举,成为,此项的取值范围是1-255(在此范围内
其他值会被识别为默认值100),这里设置为50
1 //发送VRRP报文的间隔,也就是多久进行一次选举(可以认为是一次健康检查)。
检查间隔)
//不抢占,即即使有更高的节点,也允许使用更低的节点
节点启动
{ //认证区域,认证类型包括PASS和HA(IPSEC),建议使用PASS(密码)
只识别前8位数字)
经过
1111
{ //VIP区域,指定VIP地址
192.168.12.1
192.168.1.100 3306 { //设置虚拟服务器,需要指定虚拟IP地址和服务端口。
用空格分隔 IP 和端口
2 //设置操作状态检查时间,单位为秒
rr //设置后端调度算法,这里设置为rr,即轮询算法。
DR //设置LVS实现负载均衡机制,有NAT、TUN、DR三种模式可以选择
60 // 保留时间,单位为秒。这个选项对于动态网页非常有用。
为集群系统的共享提供了良好的解决方案。
有了这个会话保持功能,用户请求就会一直分发到某个服务节点上。
直到超出会话保留时间。
TCP //指定转发协议类型,有两种:TCP和UDP
192.168.1.101 3306 { //配置服务节点1,需要指定真实IP地址和
端口,IP与端口之间用空格隔开
注意:将其更改为 192.168.12.128(本地 IP 地址)
3 //配置服务节点的权重,权重用数字表示,数字越大,权重越高。
该值用于区分不同性能的服务器
/etc//bin/mysql.sh //检测到mysql服务down后执行
脚本
{
3 //连接超时
3 //重新连接次数
3 //重连间隔
3306 //健康检查端口
主机上.conf文件具体配置如下:
-.png-wh_50
.png-wh_50
启动服务/etc/init.d/start
[.png-wh_50]
主机上.conf文件的修改:
主机的 .conf 文件配置基本相同,不同之处在于,
三个不同点,其他配置相同
jNr-.png-wh_50
可以使用scp命令将主机上配置的.conf文件复制到主机上。
启动服务
/etc/init.d/启动
3、在mysql和mysql中都添加这个检测脚本,当mysql停止工作时会自动关闭本地机器。
,从而把故障机器踢出(因为每台机器只添加了本地机器)。
正常启动后,您需要手动启动该服务。
mkdir /etc//bin
vi /etc//bin/mysql.sh,内容如下:
.jpg-wh_50]
.png-wh_50
主机完成同样的操作
4. 测试
执行 show dev eth0 命令来查看和更改 VIP
(集群虚拟IP)。
主视图结果:
-e-.png-wh_50
主视图结果:
.jpg-wh_50
从上图中我们可以看到 是主服务器, 是备份服务器。
停止MySQL服务,看看健康检查程序是否会触发我们编写的脚本
停止主机上的mysql服务
.jpg-wh_50
主视图结果:
.png-wh_50
这意味着停止主服务上的 MySQL 服务会触发我们编写的脚本执行自动故障转移。
MySQL远程登录测试
我们找一台安装了MySQL客户端的电脑,然后登录VIP看看能不能登录。
服务器必须获得授权才能允许远程登录。例如:
.png-wh_50]
在客户端上测试登录
上图显示,当客户端访问VIP地址时,由于当前是主机,因此主机会提供响应。
在服务端停止mysql服务,在客户端执行show like'';
-.png-wh_50
上图表示客户端的查询请求已经得到主机的响应,故障转移成功。
总结:
+mysql双主一般来说这种架构对于中小企业来说是最方便的。
当某个节点发生故障后,通过高可用机制快速切换到备份节点。
这个计划中有几点需要注意:
1、作为高可用方案使用时,最好将两个节点都设置为模式,避免发生意外。
在某些情况下(比如脑裂),互相抢占会导致同一份数据被写入两个节点,从而引起冲突;
2.改变两个节点的ment(增量步长)和t(增量开始)。
目的是避免某些节点可能无法
数据来不及复制到slave并应用,会造成slave新写入的数据和原来的值冲突。
所以从一开始就是错开的;当然,如果有合适的容错机制来解决主从自增ID冲突,也是可以的
你不必这么做;
3.从节点服务器配置不能太差,否则更容易造成复制延迟。作为热备节点的从服务器,
硬件配置不能低于节点;
4.如果你对延迟问题非常敏感,可以考虑使用分支版本,或者直接上线MySQL 5.7。
新版本采用多线程复制,大大减少复制延迟;
欢迎工作1至5年的Java工程师加入Java High :
群内提供免费Java架构学习资料(包含高可用、高并发、高性能及分布式架构资料,Jvm性能调优,源码,Netty、Redis、Kafka、Mysql、Dubbo、Nginx等知识点)
好好利用每一分每一秒,学习提升自己,别用“没时间”来掩饰自己的懒惰!趁年轻,努力吧,给未来的自己一个交代!
感谢您的观看,我真诚地希望这对您有所帮助!
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。