之前已经配置好了mysql-cluster群集,由于日常sql节点通常都大于1台,这意味着应用程序一部分要使用sql1节点,一部分使用sql2节点,当然,所有的应用程序只需要一个节点,但这样不在群集节点间做分流负载,也就不必做群集了,另外,如果一个群集节点down机了,随之而来的程序也down掉,该如何解决,因此我用keepalived来实现对sql节点的高可用,问题又来了,这里的keepalived存在单机故障,所以准备2台互备,我们用lvs来实现负载均衡,这样其中一个节点或者keepalived坏掉,应用程序将仍然可以工作,因为负载均衡器将请求转到了工作正常的另外一个节点,我们需要一个虚拟IP地址:192.168.18.100。它会安排给这个MySQL群集的负载均衡,以便于应用程序通过统一单独的IP地址来访问群集。

回想一下之前的部署ip结构:

192.168.18.10:MGM/SQL1

192.168.18.11:NDBD1/lvs+keepalived

192.168.18.12:NDBD2/lvs+keepalived

192.168.18.9  :   SQL2

VIP:192.168.18.100

1.在11/12这2台设备上安装lvs+keepalived
[root@localhost  home]yum -y install ipvsadm
[root@localhost  home]tar -zxf keepalived-1.2.7.tar.gz
[root@localhost  home]cd keepalived-1.2.7
[root@localhost keepalived-1.2.7]# ./configure --prefix=/usr/local/keepalived/
[root@localhost keepalived-1.2.7]#make && make install
[root@localhost keepalived-1.2.7]#vi /usr/local/keepalived/keepalived.conf
! Configuration File for keepalived
 
global_defs {
 router_id LVS_DEVEL
}
 
vrrp_instance VI_1 {
 state MASTER       #备机上改为BACKUP
 interface eth1
 virtual_router_id 51
 priority 100
 advert_int 3
 authentication {
 auth_type PASS
 auth_pass 1111
 }
 virtual_ipaddress {
 192.168.18.100
 }
}
 
virtual_server 192.168.18.100 3306 {
 delay_loop 6
 lb_algo rr
 lb_kind DR
 persistence_timeout 60
 protocol TCP
 
real_server 192.168.18.9 3306 {
 weight 1
 TCP_CHECK {
 connect_timeout 3
 nb_get_retry 3
 delay_before_retry 3
 connect_port 3306
 }
}
real_server 192.168.18.10 3306 {
 weight 1
 TCP_CHECK{
 connect_timeout 3
 nb_get_retry 3
 delay_before_retry 3
 connect_port 3306
 }
}
}

启动keepalived:
[root@localhost  home]/usr/local/keepalived/sbin/keepalived -D -f /usr/local/keepalived/keepalived.conf
2.在2台sql节点行编辑如下脚本
[root@localhost  home]vi re.sh
#!/bin/sh
VIP=192.168.18.100
/etc/rc.d/init.d/functions
case "$1" in
start)
echo "Start LVS of RealServer"
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
route add -host $VIP dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
stop)
/sbin/ifconfig lo:0 down
echo "Stop LVS of RealServer"
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo "Usage:$0{start|stop}"
exit 1
esac

[root@localhost  home] chmod +x re.sh
[root@localhost  home]./re.sh start

好了,现在可以直接利用vip,192.168.18.100来连接了

转载于:https://blog.51cto.com/nanow/1101478

配置mysql-cluster群集高可用(三)相关推荐

  1. MySQL集群(四)之keepalived实现mysql双主高可用

    前面大家介绍了主从.主主复制以及他们的中间件mysql-proxy的使用,这一篇给大家介绍的是keepalived的搭建与使用! 一.keepalived简介 1.1.keepalived介绍 Kee ...

  2. MySQL之MHA高可用配置及故障切换实例

    MySQL之MHA高可用配置及故障切换实例 前言 一.MHA概述 (1)MHA是什么 (2)MHA的组成 (3)MHA的特点 二.部署MHA (1)配置主从服务 ①环境初始化 ③修改master.sl ...

  3. MySQL的MHA高可用配置及故障切换

    MySQL的MHA高可用配置及故障切换 一.MHA概述 1.MHA简介 2.MHA的组成 3.MHA特点 二.MHA实验 1.实验环境准备 2.实验目的 3.实验步骤 一.MHA概述 1.MHA简介 ...

  4. Mysql的MMM高可用群集

    文章目录 一.Mysql-MMM群集概述 (1)MMM概述 (2)MMM的优缺点 (3)MMM进程 `(脚本)` 的作用 (4)MMM的工作架构 二.搭建Mysql-MMM高可用群集 (1)实验环境 ...

  5. MySQL之MHA高可用配置及故障切换(理论加实战详细部署步骤)

    MySQL之MHA高可用配置及故障切换(理论加实战详细部署步骤) 文章目录 一.MHA介绍 (一).什么是MHA (二).MHA 的组成 (三).MHA 的特点 二.搭建 MySQL MHA (一). ...

  6. RabbitMQ高级指南:从配置、使用到高可用集群搭建

    本文大纲: 1. RabbitMQ简介 2. RabbitMQ安装与配置 3. C# 如何使用RabbitMQ 4. 几种Exchange模式 5. RPC 远程过程调用 6. RabbitMQ高可用 ...

  7. Mysql数据库的高可用

    本文来说下有关mysql数据库的高可用 文章目录 概述 主从或主主半同步复制 半同步复制优化 高可用架构优化 共享存储 分布式协议 本文小结 概述 高可用,即High Availability,是分布 ...

  8. linux下mysql 有双机_在Linux环境下配置mysql cluster双机集群

    一.介绍 如何安装配置基于2台服务器的MySQL集群.并且实现任意一台服务器出现问题或宕机时MySql集群依然能够继续运行.加下后续的(keepalived+lvs+mysql cluster文档), ...

  9. RabbitMQ 高级指南:从配置、使用到高可用集群搭建

    博主说:在项目中,通过 RabbitMQ,咱们可以将一些无需即时返回且耗时的操作提取出来,进行异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量. 正文 1 Rab ...

最新文章

  1. Jfinal 2.1 集成 Guice,实现注解功能, 加入Service接口和实现类,直接晒代码
  2. VirtualBox使用技巧:关于undo差分盘与端口映射
  3. 重试次数配置_TestNG实践——2.用例失败重试
  4. 正则表达式引擎执行原理——从未如此清晰!
  5. python入门--函数
  6. Java语言学习之泛型的用法
  7. 桔梗网导航怎么取消_货车从业资格证考试正式取消?交通部最新回复!
  8. 史陶比尔与机器人之父
  9. mysql删除用户账号和密码_mysql添加、删除用户和授权用户
  10. linux php oauth安装,Linux php 扩展安装 mongo ,redis ,soap,imap,pdo_mysql,oauth
  11. 【今日CV 计算机视觉论文速览】Thu, 7 Mar 2019
  12. 机器学习算法总结之XGBoost(上)理论基础
  13. 部署速度翻6倍,知乎从0到1实现部署系统演进及优化
  14. python2 与 python3的区别
  15. 整车模型系列之发动机模型的建立
  16. 360全景倒车影像2017年最新十大品牌排名
  17. QGIS 影像图黑色背景去除
  18. HTML网页设计:三、图像标签之<img>标签
  19. 基于ROS的语音控制机器人(一):基本功能的实现
  20. 首页技术支持常见问题宽带外网IP显示为10、100、172开头,没有公网IP,如何解决?...

热门文章

  1. 创建型模式 简单工厂模式
  2. ubuntu搭配lamp
  3. bzoj1412[ZJOI2009]狼和羊的故事
  4. 《Objective-c》Foundation框架 -(结构体:Range、Point、Size、Rect)
  5. ASP.NET Web 项目文件类型
  6. 小小base标签在web开发中的大作用
  7. org.hibernate.hql.ast.QuerySyntaxException: ? is not mapped
  8. 【高级数据结构】[SPOJ QTREE]树链剖分/动态树各一模板
  9. 我的四年建站故事(X)
  10. Exadata X2-2 vs EMC Greenplum DCA vs Netezza TwinFin 12主要配置大对比