企业实战_21_MyCat_keepalived 安装配置验证

接上一篇:企业实战_20_MyCat使用HAPpoxy对Mycat负载均衡
https://gblfy.blog.csdn.net/article/details/100087884

主机名IP地址角色
mycat192.168.43.32MYCAT MYSQL,ZK,Haproxy,Keepalived
node1192.168.43.104MYSQL,ZK
node2192.168.43.217MYSQL,ZK
node3192.168.43.172MYSQL,MYCAT ,Haproxy,Keepalived

文章目录

          • 一、mycat01 节点
            • 1. 在线安装keepalived
            • 2. 获取网卡名
            • 3. 配置 keepalived.conf
            • 4. 编写监控脚本
            • 5. 脚本赋予权限
            • 6. 运行脚本
            • 7. 查看脚本状态
            • 8. 查看虚拟vip
          • 二、mycat02 节点
            • 2.1. 在线安装keepalived
            • 2. 获取网卡名
            • 2.3. 配置 keepalived.conf
            • 2.4. 编写监控脚本
            • 2.5. 脚本赋予权限
            • 2.6. 运行脚本
            • 2.7. 查看脚本状态
            • 2.8. 查看虚拟vip
          • 三、vip迁移模拟
          • 3.1. 验证思路
          • 3.2. keepalived 主节点服务停止掉
          • 3.3. keepalived 从节点验证
          • 3.4. 重启启动主节点keepalived
          • 3.5. 登录从节点
          • 3.6. 结论

一、mycat01 节点
1. 在线安装keepalived
#安装依赖包yum install -y curl gcc openssl-devel libnl3-devel net-snmp-devel#yum安装软件yum install -y keepalived
2. 获取网卡名
# 获取网卡名,等会用于绑定
ip addr

在这里插入图片描述

3. 配置 keepalived.conf
#进入/etc/keepalived/cd /etc/keepalived/#编辑keepalived.confvim keepalived.conf

! Configuration Fileforkeepalived
vrrp_script chk_http_port {script"/etc/keepalived/check_haproxy.sh"interval 2weight 2
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 150
advert_int 1
authentication {auth_type PASSauth_pass 1111
}
track_script {chk_http_port
}
virtual_ipaddress {
192.168.92.127 dev ens33 scope global}
}

说明:虚拟vip怎样获取的?
自己虚拟机玩耍:自己随机找一个与本机ip段一致的ip即可,
在公司的话:需要发邮件申请

在这里插入图片描述

4. 编写监控脚本
#创建check_haproxy.sh
vim /etc/keepalived/check_haproxy.sh#添加内容
#!/bin/bash
STARTHAPROXY="/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg"
#STOPKEEPALIVED="/etc/init.d/keepalived stop"
STOPKEEPALIVED="/usr/bin/systemctl stop keepalived"
LOGFILE="/var/log/keepalived-haproxy-state.log"
echo "[check_haproxy status]" >> $LOGFILE
A=`ps -C haproxy --no-header |wc -l`
echo "[check_haproxy status]" >> $LOGFILE
date >> $LOGFILE
if [ $A -eq 0 ];thenecho $STARTHAPROXY >> $LOGFILE$STARTHAPROXY >> $LOGFILE 2>&1sleep 5
fi
if [ `ps -C haproxy --no-header |wc -l` -eq 0 ];thenexit 0
elseexit 1
fi

在这里插入图片描述

5. 脚本赋予权限
#给这个脚本赋予可执行权限
chmod a+x /etc/keepalived/check_haproxy.sh
6. 运行脚本
# 启动 keepalived
systemctl start keepalived
7. 查看脚本状态
# 查看 keepalived 状态
systemctl status keepalived

在这里插入图片描述

8. 查看虚拟vip
ip addr

在这里插入图片描述

二、mycat02 节点
2.1. 在线安装keepalived
#安装依赖包yum install -y curl gcc openssl-devel libnl3-devel net-snmp-devel#yum安装软件yum install -y keepalived
2. 获取网卡名
# 获取网卡名,等会用于绑定
ip addr

在这里插入图片描述

2.3. 配置 keepalived.conf
#进入/etc/keepalived/cd /etc/keepalived/#编辑keepalived.conf,把下面的配置覆盖掉默认的vim keepalived.conf
! Configuration Fileforkeepalived
vrrp_script chk_http_port {script"/etc/keepalived/check_haproxy.sh"interval 2weight 2
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 120
advert_int 1
authentication {auth_type PASSauth_pass 1111
}
track_script {chk_http_port
}
virtual_ipaddress {
192.168.92.127 dev ens33 scope global}
}

在这里插入图片描述

2.4. 编写监控脚本
#创建check_haproxy.sh
vim /etc/keepalived/check_haproxy.sh#添加内容
#!/bin/bash
STARTHAPROXY="/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg"
#STOPKEEPALIVED="/etc/init.d/keepalived stop"
STOPKEEPALIVED="/usr/bin/systemctl stop keepalived"
LOGFILE="/var/log/keepalived-haproxy-state.log"
echo "[check_haproxy status]" >> $LOGFILE
A=`ps -C haproxy --no-header |wc -l`
echo "[check_haproxy status]" >> $LOGFILE
date >> $LOGFILE
if [ $A -eq 0 ];thenecho $STARTHAPROXY >> $LOGFILE$STARTHAPROXY >> $LOGFILE 2>&1sleep 5
fi
if [ `ps -C haproxy --no-header |wc -l` -eq 0 ];thenexit 0
elseexit 1
fi

在这里插入图片描述

2.5. 脚本赋予权限
#给这个脚本赋予可执行权限
chmod a+x /etc/keepalived/check_haproxy.sh
2.6. 运行脚本
# 启动 keepalived
systemctl start keepalived
2.7. 查看脚本状态
# 查看 keepalived 状态
systemctl status keepalived

在这里插入图片描述

2.8. 查看虚拟vip
ip addr

在这里插入图片描述

发现是没有虚拟vip,对吧!

说明:
由于我们在keepalived 主节点MASTER配置的权重是150,在keepalived 从节点BACKUP配置的权重是120,因此虚拟vip默认会在权重高的机器上。
什么场景下虚拟vip会迁移到keepalived 从节点BACKUP呢?
当keepalived 主节点宕机之后,虚拟vip就会自动迁移到keepalived的slave节点。

三、vip迁移模拟
3.1. 验证思路
把带有虚拟ip的haproxy停止掉,虚拟ip,keepalived就会把虚拟ip转移到另一台haproxy机器上,当停止掉的haproxy重启启动后,虚拟ip就会转移回来,因为设置了权重。
3.2. keepalived 主节点服务停止掉
[root@node1 ~]# systemctl stop keepalived
[root@node1 ~]# ip addr 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:72:fe:1f brd ff:ff:ff:ff:ff:ffinet 192.168.92.101/24 brd 192.168.92.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet6 fe80::e596:6d50:ebed:be08/64 scope link tentative noprefixroute dadfailed valid_lft forever preferred_lft foreverinet6 fe80::301b:b1b8:4c05:8828/64 scope link tentative noprefixroute dadfailed valid_lft forever preferred_lft foreverinet6 fe80::dec4:912f:fd7f:bbd5/64 scope link tentative noprefixroute dadfailed valid_lft forever preferred_lft forever
[root@node1 ~]# 

在这里插入图片描述
发现虚拟vip不见了。

3.3. keepalived 从节点验证
ip addr

在这里插入图片描述
发现虚拟vip启动迁移到了从节点机器上

3.4. 重启启动主节点keepalived
[root@node1 ~]# systemctl start keepalived
You have new mail in /var/spool/mail/root
[root@node1 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:72:fe:1f brd ff:ff:ff:ff:ff:ffinet 192.168.92.101/24 brd 192.168.92.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet 192.168.92.127/32 scope global ens33valid_lft forever preferred_lft foreverinet6 fe80::e596:6d50:ebed:be08/64 scope link tentative noprefixroute dadfailed valid_lft forever preferred_lft foreverinet6 fe80::301b:b1b8:4c05:8828/64 scope link tentative noprefixroute dadfailed valid_lft forever preferred_lft foreverinet6 fe80::dec4:912f:fd7f:bbd5/64 scope link tentative noprefixroute dadfailed valid_lft forever preferred_lft forever
[root@node1 ~]#

在这里插入图片描述

3.5. 登录从节点
ip addr

在这里插入图片描述
发现虚拟vip自动又迁移了回去

3.6. 结论

由于主节点的keepalived 权重比从节点的keepalived高,因此,当主从服务都正常运行的场景,虚拟vip会在主节点上;当主节点宕机后,虚拟vip会自动迁移到从节点上。

下一篇:企业实战_22_MyCatSQL拦截
https://gblfy.blog.csdn.net/article/details/100073474

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523388.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么说 5G 是物联网的时代?

受 5G 冲击最大的领域终将会是谁&#xff1f;作者 | 屠敏 整理出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;提及当前科技圈有哪些热点词&#xff0c;那 5G 必是其中之一。6 月 6 日&#xff0c;工业和信息化部正式向中国移动、中国联通、中国电信和中国广电发布…

命令行给php脚本传参,如何在CLI命令行下运行PHP脚本,同时向PHP脚本传递参数?...

标签&#xff1a;c t sp get int name php test print root enter//命令行输入输出流fwrite(STDOUT,"Enter your name:");$name trim(fgets(STDOUT));fwrite(STDOUT,"hello,$name");*/echo$argc;if ($argc > 1){print_r($argv);}?…

企业实战_24_MyCat实现读写分离

接上一篇&#xff1a;企业实战_23_MyCat SQL防火墙 https://gblfy.blog.csdn.net/article/details/100074335 文章目录一、MyCat读写分离操作流程二、环境部署安排&#xff1a;三、主机操作103(node3)3.1. 数据备份3.2. 将node3.sql复制到节点53.3. 导入数据3.4. 在查看是否创建…

c#中计算三角形面积公式,C#源代码—三角形面积、圆的面积

三角形面积、圆的面积using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace _2{public abstract class shape{private string mc;public shape(string s){Mc s;}public string Mc{get{return mc;}set{mc value;}}public double Are…

Storm精华问答 | 为什么要用Storm?不用Spark?

戳蓝字“CSDN云计算”关注我们哦&#xff01;Apache Storm是一个分布式实时大数据处理系统。Storm设计用于在容错和水平可扩展方法中处理大量数据。它是一个流数据框架&#xff0c;具有最高的摄取率。今天&#xff0c;我们就挑一些Storm的安装配置问题来看看吧。1Q&#xff1a;…

oracle读取表空间物理文件中数据,shell脚本读取oracle数据库数据写入到文件中

1、linux 需要用 sqlplus 客户端去连接oracle 数据库&#xff0c;首先需要确认有没有安装&#xff1a;which sqlplus2、如果没有安装就需要先安装一下(百度)3、配置环境变量&#xff1a;vim /etc/profile4、执行 source /etc/profile5、whereis oracle #查看oracle 客户端安装…

做“云”,京东云是认真的!

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 刘晶晶在2018年&#xff0c;京东云的营收达到了三位数的增长&#xff0c;10倍于行业增速&#xff1b;18个月的时间&#xff0c;京东云推出了超过200项的PaaS/IaaS服务……京东云总裁申元庆在2019全球人工智能技术大会上接受采…

这位博士跑赢“地震波”:提前 10 秒预警宜宾地震!

戳蓝字“CSDN云计算”关注我们哦&#xff01;整理 | 胡巍巍出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;天府之国四川&#xff0c;又遭地震&#xff01;据中国地震台网测定&#xff1a;6月17日22时55分&#xff0c;四川省宜宾市长宁县发生6.0级地震&#xff0c;…

oracle10gasmcmd,ORACLE 10g中ASMCMD使用及ASM文件

ORACLE 10g中ASMCMD使用及ASM文件XML DB访问1.引言自动存储管理(ASM)是Oracle数据库10g的新功能&#xff0c;它为数据库管理员提供了一个简单的存储管理界面&#xff0c;并且该界面在所有服务器和存储平台上都是一致的。作为专门为Oracle数据库文件创建的整合的文件系统和卷管理…

企业实战_04_MyCat常用配置文件详解

Mycat 常用配置文件,配置灵活&#xff0c;能应用于场景很多&#xff0c;建议根据应用场景去记忆&#xff0c;要理解&#xff01; 接上一篇&#xff1a;企业实战_03_MyCat下载、安装、启动 https://gblfy.blog.csdn.net/article/details/100049304 文章目录一、Mycat目录说明二、…

OpenStack精华问答 | OpenStack是云吗?

自诞生以来&#xff0c;OpenStack 似乎一直被质疑&#xff0c;其背后最重要的两大推手 NASA 和 Rackspace 都弃它而去&#xff0c;惠普、思科接连宣布关闭基于 OpenStack 的公有云服务&#xff0c;但是,OpenStack 依旧坚挺。1Q&#xff1a;openstack介绍A&#xff1a;openstack…

mclmcrrt77 matlab,mclmcrrt77.dll下载

mclmcrrt77.dll文件作为应用程序中非常重要的一个组件&#xff0c;如果弄丢或者报错后会出现很多麻烦的事情&#xff0c;这时候大家只需要到本站来下载该文件包&#xff0c;然后按照本站的安装方法进行安装就可以修复了&#xff01;mclmcrrt77.dll介绍如果您的系统提示“找不到…

社会保障查询

公积金个人用户登录&#xff1a; http://www.zzz.gov.cn/wtgrgjj/index.html http://www.bjrbj.gov.cn/csibiz/home/index.html

是是是

Mycat - 实现数据库的读写分离与高可用&#xff1a; https://www.cnblogs.com/youzhibing/p/9553766.html Mycat - 高可用与负载均衡实现&#xff0c;满满的干货&#xff01; https://cloud.tencent.com/developer/article/1388391 Mycat读写分离、热备、分表分库 http://www…

3类6种,主流容器操作系统全比较

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | Frank Brown来源 | RancherLabs介 绍容器已迅速成为现代数据中心的必要组成部分。容器可以构建在各类操作系统中&#xff0c;那么企业该如何选择最合适的操作系统来运行自己的容器&#xff1f;在容器部署时&#xff0c;研发…

mongodb php代码实例,php操作mongoDB实例分析

本文实例讲述了PHP操作mongoDB的方法。分享给大家供大家参考。具体分析如下&#xff1a;mongoDB数据库是一种以json格式存储的数据库,非常适用于各种应用开发,这里就来给各位朋友介绍一些mongoDB学习实例.mongodb想要整合PHP,需要安装Mongo扩展,这个比较简单,现在说一下MongoDB…

实战_23_高可用负载均衡集群的实现(Mycat+ZK +HAProxy + Keepalived)

接上一篇&#xff1a;实战_22_Mycat设置开机自启https://blog.csdn.net/weixin_40816738/article/details/100086556 文章目录一、高可用集群架构实现思路二、环境部署准备2.1. 环境部署总览2.2. 架构图总览2.3. 架构图解说明三、架构功能分析3.1. 场景案例分析3.2. 架构功能点…

oracle与db2 市场占有率,oracle 与 DB2 的区别

1、DB2 访问前10行数据与Oracle区别DB2 :select * from test fetch first 10 rows onlyOracle :select * from test where rownum<10查询语句Db2:不提供隐形转换select * from employee where empno1010;oracle&#xff1a;提供隐形转换select * from employee where empno1…

拒修电脑后,妹子又约我学机器学习,好烦(甜)!

事情是这样的&#xff0c;自前年给学妹修了半年电脑后&#xff0c;我俩一直没联系&#xff0c;最近这位学妹最近又联系我&#xff0c;问我是否了解人工智能&#xff0c; 在得知我已经研究并且从事相关工作后&#xff0c;她立马约我出来认真聊聊。我的内心&#xff1a;好烦啊&am…