MyCat-集群-keepalived 安装配置 | 学习笔记

简介: 快速学习 MyCat-集群-keepalived 安装配置

开发者学堂课程【全面讲解开源数据库中间件MyCat使用及原理(三):MyCat-集群-keepalived 安装配置 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/757/detail/13291


MyCat-集群-keepalived 安装配置

要将 keepalived 的安装包上传到服务器上,在 159 和 160 两台服务器上面都需要上传 keepalived。159 和 160 上面的安装步骤是完全一致的。

1. 上传安装包到 159 服务器上

alt+p--------> put D:/tmp/keepalived-1.4.5.tar.gz

上传后 ll,可以看到 keepalived 的安装包,结尾是 tar.ge 的安装包,就需要进行解压。

image.png

2. 解压安装包到目录  /user/local/src

tar -zxvf keepalived-1.4.5.tar.gz-c/usr/local/src

image.png

解压完后解压到 user/local/src/keepalived-1.4.5 目录得到解压后的源码包。

Keepalived 是 c 源开发的,那么接下来就要对 c 源的源码进行编译。在编译的时候需要用到一些第三方的插件,通过 yam 指令在线安装。

3.安装依赖插件

yum install -y gcc openssl-devel popt-devel

在使用 yam 指令在线安装的时候一定要记得连接外网!!

4.进入解压后的目录,进行配置,进行编译。

cd /usr/local/src/keepalived-1.4.5

./configure--prefix=/usr/local/keepalived 先执行此条指令,指的是configure,要对 keepalived 的安装路径进行配置,所以在此添加这条指令。执行完此条指令后,会出现 Makefile 文件。

image.png

有了这个文件就可以编译 c 源的源码。

5. 进行编译,完成后进行安装

make &&make install   编译安装过程大概需要几十秒的时间,大家稍作等待。

6. 编译安装之后,进行运行前配置。

运行前的配置作用是将 keepalived 注册为系统服务。

cp/usr/local/src/keepalived-1.4.5/keepalived/etc/init.d/keepalived /etc/init.d/

mkdir /etc/keepalived

cp/usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived

cp/usr/local/src/keepalived-1.4.5/keepalived/etc/sysconfig/keepalivedetc/sysconfig/

cp/usr/local/keepalived/sbin/keepalived/usr/sbin/

将运行前的配置进行运行即可,创建目录。还需要将 keepalived 的配置文件拷贝到 etc 文件目录下,还需拷贝 keepalived 的指令,最后要将这个指令拷贝到 sbin目录下。

7. 修改配置文件 /etc/keepalived/keepalived.conf

进入此目录,看到原有的配置文件,是我们完全不需要的,可以直接全部删掉。将我们准备好的配置文件拷贝进去即可。

router_id 是一个标识,叫做 haproxy01,以上为脚本,等下详细介绍。

在这里面配置了 vrrp,就是 keepalived 中用到的协议。

state Master 当前是主,对于 keepalived 来说,就是一主一备。

Interface eth1 就是网卡的名字。

对于 keepalived 来说是需要通过 vrrp 虚拟出一个虚拟的 ip 地址,并且将此 ip 与当前服务器进行绑定。所以要指定当前服务器用的哪一块网卡。

如何查看当前服务器是使用的哪一块网卡?输入 if config 则显示当前服务的网卡。

image.png

router_id 网段信息。

数值越大优先级越高。 priority 120 指的是主和备要去抢占 ip,优先级越高,抢占的概率越大。

8.重点介绍

虚拟 IP  vip 则为:virtual_ipaddress

image.png

示意图顶端的虚拟 IP,是在 keepalived 文件中配置的,两个 keepalived 虚拟出的 Ip 必须是同一个。

上方的配置也是需要添加的,以上是关于配置的说明,拷贝到 159 服务器即可。

当前节点 Master,网卡 eth1,优先级 120,虚拟 IP192.200

由于刚才关联了外部脚本,叫 haproxy_check.sh,关联的是 share 脚本。

9.简单了解一下 shell 脚本

检测 haproxy 是否存活

image.png

Shell 脚本的作用就是示意图中 check 的作用,如果 haproxy 挂掉,keepalived 还活着,虚拟的 IP 地址,和当前的网卡绑定,并不会解绑,而 haproxy 已经挂掉的情况下,再不解绑就没有任何意义,所以 share 脚本就要去检测,haproxy 是否还存活着。

如果 haproxy 还活着就正常,如果已经挂掉了就会尝试重启他,如果不能重启成功,那就会使当前的 keepalived 挂掉,而主节点 master 的 keepalived 挂掉的话,备用的节点的 keepalived 就会检测到主节点挂掉,那么此时备用节点就会升级为主节点,并且将 vip 与当前服务网卡进行绑定,从而对外进行服务。

Shell 脚本存放目录 etc/keepalived  脚本名称:

haproxy_check.sh

将脚本拷贝即可。

image.png

脚本解读:首先通过 ps-c haproxy 查看 haproxy 的信息,第二行的作用是拿到 haproxy 到底有没有该进程,

image.png

运行一下,ps-c 查看 haproxy 进程,no-header 将进程中的头信息干掉,如果输入 ps-C haproxy 直接执行,则会有头部信息出现。加上 no-header 则没有头部信息。

Wc-L 取得行数显示有一行,则说明 haproxy 是存活的,进程正常。

image.png

设置变量 A ,如果变量 A 为 0,那么就执行,下面这句指令,意思为重启 haproxy/usr/local/haproxy/sbin/haproxyf/usr/local/haproxy/haproxy.conf

Sleep1  休眠一秒

执行第二行的内容:ps -C haproxy --no-header|wc-l

如果 -eq 为 0,则视为重启失败,则 etc/init.d/keepalived   stop  停止keepalived ,备用节点生效。

所以 shell 脚本就是去检测 haproxy 的状态。

脚本有了之后要赋予权限,chamod  777  haproxy_check.sh  绿了则有执行权限。

159 服务中的配置至此基本配置完毕。

对于 160 服务的配置与 159 服务中的配置基本一致。在 keepalived 的 backup 备用节点配置不一样,router_ id 标识要修改,master 要改为 backup ,优先级要改成 100,其他内容不需要。

相关文章
|
7月前
|
应用服务中间件 nginx
服务搭建篇(四) 搭建基于Nginx + keepalived的高可用服务
比如我这里虚拟IP+nginx端口是 : 192.168.154.10:80 , 我直接访问 , 出来的是192.168.154.134服务器上的nginx , 因为我刚刚做了区分 , 所以这个时候就可以知道访问的是哪个机器的Nginx , 然后我们把134的Nginx停掉 , 然后再次访问 , 仍然可以使用 , 此时 ,出现的135的页面 , 也就是访问的是192.168.154.135的Nginx
99 0
|
4月前
|
负载均衡 监控 前端开发
Mycat【Mycat高可用(安装配置HAProxy、安装配置Keepalived)】(八)-全面详解(学习总结---从入门到深化)
Mycat【Mycat高可用(安装配置HAProxy、安装配置Keepalived)】(八)-全面详解(学习总结---从入门到深化)
23 0
|
6月前
|
负载均衡 网络协议 关系型数据库
rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景 2
rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景
101 2
|
6月前
|
关系型数据库 MySQL 网络安全
rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景 1
rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景
85 0
|
9月前
|
网络协议 开发工具
搭建memcached 主主复制+keepalived 高可用
搭建memcached 主主复制+keepalived 高可用
|
负载均衡 网络协议 关系型数据库
MyCat-集群-keepalived 启动及 haproxy 的高可用测试 | 学习笔记
快速学习 MyCat-集群-keepalived 启动及 haproxy 的高可用测试
134 0
MyCat-集群-keepalived 启动及 haproxy 的高可用测试 | 学习笔记
|
负载均衡 Ubuntu Linux
Mycat高可用方案-HAProxy+Keepalived
Mycat高可用方案-HAProxy+Keepalived
2108 0
Mycat高可用方案-HAProxy+Keepalived
|
域名解析 负载均衡 应用服务中间件
|
关系型数据库 Shell
Keepalived+MySQL双主配置实践
整理了近期在项目上做的一些技术研究,希望与大家共同探讨交流。 一:环境介绍 master1:10.124.151.20 master2:10.124.151.22 VIP:10.124.
2049 0
|
监控 关系型数据库 MySQL
Mysql +keepalived+MHA高可用(学习笔记十六)
https://blog.csdn.net/yiyuf/article/details/40340895 http://www.cnblogs.com/yuanermen/p/3726572.html http://www.cnblogs.com/yuanermen/p/3726961.html http://www.cnblogs.com/yuanermen/p/3735263.html 一、MHA的简单介绍 MHA是由perl语言编写的,用外挂脚本的方式实现mysql主从复制的高可用性。
1423 0