RabbitMQ+haproxy+keeplived 高可用负载均衡+镜像集群模式_集成高性能高可用组件 Keepalived_03

在这里插入图片描述

服务器IPhostname节点说明端口管控台地址账号密码
192.168.0.115mq-01rabbitmq master5672http://192.168.0.115:15672guestguest
192.168.0.117mq-02rabbitmq slave5672http://192.168.0.117:15672guestguest
192.168.0.118mq-03rabbitmq slave5672http://192.168.0.118:15672guestguest
192.168.0.119hk-01haproxy+keepalived8100http://192.168.0.119:8100/rabbitmq-statsadmin123456
192.168.0.120hk-02haproxy+keepalived8100http://192.168.0.120:8100/rabbitmq-statsadmin123456
命令说明
sudo service keepalived start启动keepalived 服务
sudo service keepalived stop停止keepalived 服务
sudo service keepalived restart重新启动keepalived 服务
sudo service keepalived status查看keepalived 服务运行状态
sudo chkconfig keepalived onkeepalived 服务开机启动
命令说明
sudo systemctl start keepalived.service启动keepalived 服务
sudo systemctl stop keepalived.service停止keepalived 服务
sudo systemctl restart keepalived.service重新启动keepalived 服务
sudo systemctl status keepalived.service查看keepalived 服务运行状态
sudo systemctl enable keepalived.servicekeepalived 服务开机启动
sudo systemctl disable keepalived.servicekeepalived 取消服务开机启动

接上一篇:RabbitMQ+haproxy+keeplived 高可用负载均衡+镜像集群模式_集成负载均衡组件 Ha-Proxy_02

文章目录

  • 一、Keepalived简介
  • 二、Keepalived 安装实战
    • 2.1. 安装所需软件包
    • 2.2. 下载keepalived 软件包
    • 2.3. 同步keepalived 软件包
    • 2.4. 解压、编译、安装 keepalived
  • 三、将keepalived安装成Linux系统服务
    • 3.1. 首先创建文件夹,将keepalived配置文件进行复制
    • 3.2. 然后复制 keepalived 脚本文件
    • 3.3. keepalived 服务设置开机启动
  • 四、配置+修改 Keepalived配置文件
    • 4.1. 创建并编辑keepalived.conf文件
    • 4.2. 119 服务器配置
    • 4.3. 同步+修改 keepalived.conf 配置文件
    • 4.4. 执行脚本编写
    • 4.5. 脚本说明:
    • 4.6. 执行脚本赋权
  • 五、启动 keepalived 服务
    • 5.1. 查看haproxy启运行状态
    • 5.2. 启动keepalived
    • 5.3. 查看keepalived运行状态
  • 六、测试+验证 keepalived 单点故障转移
    • 6.1. 正常场景测试
    • 6.2. 主节点出现单点故障 测试
    • 6.3. 主节点出现单点故障+重新启动主节点 测试

一、Keepalived简介

Keepalived,它是一个高性能的服务器高可用或热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx、Haproxy等反向代理的负载均衡服务器配合实现web服务端的高可用。Keepalived以VRRP协议为实现基础,用VRRP协议来实现高可用性(HA).VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,VRRP协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或多个)。

二、Keepalived 安装实战

PS:下载地址:
http://www.keepalived.org/download.html

2.1. 安装所需软件包

yum install -y openssl openssl-devel

2.2. 下载keepalived 软件包

wget https://www.keepalived.org/software/keepalived-2.0.20.tar.gz

2.3. 同步keepalived 软件包

为了节省时间,将此软件包同步120服务器

scp keepalived-2.0.20.tar.gz root@192.168.0.120:/app/software

2.4. 解压、编译、安装 keepalived

# 解压keepalived
tar -zxf keepalived-2.0.20.tar.gz -C /app/
# 编译、安装 keepalived
cd keepalived-2.0.20/ && ./configure --prefix=/app/keepalived
make && make install

三、将keepalived安装成Linux系统服务

将keepalived安装成Linux系统服务,因为没有使用keepalived的默认安装路径(默认路径:/usr/local),安装完成之后,需要做一些修改工作

3.1. 首先创建文件夹,将keepalived配置文件进行复制

# 创建文件夹
mkdir /etc/keepalived
# 将keepalived配置文件进行复制
cp /app/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

3.2. 然后复制 keepalived 脚本文件

cp /app/keepalived-2.0.20/keepalived/etc/init.d/keepalived /etc/init.d/
cp /app/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
# 建立软连接
ln -s /app/sbin/keepalived /usr/sbin/
# 由于系统默认建立软连接,因此需要先删除默认的
rm -f /sbin/keepalived
# 和自己指定安装的脚本文件建立软连接
ln -s /app/keepalived/sbin/keepalived /sbin/

在这里插入图片描述

3.3. keepalived 服务设置开机启动

可以设置开机启动:systemctl enable keepalived.service,到此我们安装完毕!

systemctl enable keepalived.service

四、配置+修改 Keepalived配置文件

PS:修改keepalived.conf配置文件

4.1. 创建并编辑keepalived.conf文件

vim /etc/keepalived/keepalived.conf

4.2. 119 服务器配置

! Configuration File for keepalivedglobal_defs {router_id hk-01  ##标识节点的字符串,通常为hostname}vrrp_script chk_haproxy {script "/etc/keepalived/haproxy_check.sh"  ##执行脚本位置interval 2  ##检测时间间隔weight -20  ##如果条件成立则权重减20
}
#监测haproxy进程状态,每2秒执行一次
vrrp_instance VI_1 {state MASTER  ## 主节点为MASTER,备份节点为BACKUPinterface ens33 ## 绑定虚拟IP的网络接口(网卡),与本机IP地址所在的网络接口相同(我这里是eth0)virtual_router_id 119  ## 虚拟路由ID号(主备节点一定要相同)mcast_src_ip 192.168.0.119 ## 本机ip地址priority 100  ##优先级配置(0-254的值)nopreemptadvert_int 1  ## 组播信息发送间隔,俩个节点必须配置一致,默认1s
authentication {  ## 认证匹配auth_type PASSauth_pass ncl@1234}track_script {chk_haproxy}virtual_ipaddress {192.168.0.112  ## 虚拟ip,可以指定多个}
}

4.3. 同步+修改 keepalived.conf 配置文件

将此配置文件同步120服务器

scp  keepalived.conf root@192.168.0.120:/etc/keepalived/

修改第一处:将router_id 修改为120 服务器hostname
修改第二处:mcast_src_ip 修改为120 本机ip地址
修改第三处:priority 修改为 90 ## 主节点 100 从节点 90
修改第四处:state 将 MASTER 修改为BACKUP

120服务器配置:

! Configuration File for keepalivedglobal_defs {router_id hk-02  ##标识节点的字符串,通常为hostname}
#监测haproxy进程状态,每2秒执行一次
vrrp_script chk_haproxy {script "/etc/keepalived/haproxy_check.sh"  ##执行脚本位置interval 2  ##检测时间间隔weight -20  ##如果条件成立则权重减20
}vrrp_instance VI_1 {state BACKUP ## 主节点为MASTER,备份节点为BACKUPinterface ens33 ## 绑定虚拟IP的网络接口(网卡),与本机IP地址所在的网络接口相同(我这里是eth0)virtual_router_id 119  ## 虚拟路由ID号(主备节点一定要相同)mcast_src_ip 192.168.0.120 ## 本机ip地址priority 90  ##优先级配置(0-254的值)nopreemptadvert_int 1  ## 组播信息发送间隔,俩个节点必须配置一致,默认1s
authentication {  ## 认证匹配auth_type PASSauth_pass ncl@1234}track_script {chk_haproxy}virtual_ipaddress {192.168.0.112  ## 虚拟ip,可以指定多个}
}

4.4. 执行脚本编写

PS:添加文件位置为/etc/keepalived/haproxy_check.sh(119、120两个节点文件内容一致即可)

vim /etc/keepalived/haproxy_check.sh
#!/bin/bash
COUNT=`ps -C haproxy --no-header |wc -l`
if [ $COUNT -eq 0 ];then/app/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfgsleep 2if [ `ps -C haproxy --no-header |wc -l` -eq 0 ];thenkillall keepalivedfi
fi

4.5. 脚本说明:

  1. 监测haproxy进程状态,每2秒执行一次
  2. 如果存在,则跳过逻辑
  3. 如果不存在,重新启动 haproxy 服务

4.6. 执行脚本赋权

PS:haproxy_check.sh脚本授权,赋予可执行权限.

chmod +x /etc/keepalived/haproxy_check.sh

五、启动 keepalived 服务

PS:启动keepalived之前先检查haproxy启运行状态

5.1. 查看haproxy启运行状态

命令查看方式:

ps -ef | grep haproxy

在这里插入图片描述
在这里插入图片描述
浏览器查看方式:
在这里插入图片描述
在这里插入图片描述

从上面可以看出haproxy 已经正常运行

5.2. 启动keepalived

PS:当我们启动俩个haproxy节点以后,我们可以启动keepalived服务程序

# 启动两台机器的keepalived
service keepalived start

5.3. 查看keepalived运行状态

ps -ef | grep keepalived

在这里插入图片描述
在这里插入图片描述

六、测试+验证 keepalived 单点故障转移

6.1. 正常场景测试

测试结果预测:

keepalived 服务正常启动,虚拟ip在 主节点的服务器上(119 服务器)

在119服务器 查看虚拟IP

ip a

在这里插入图片描述

在120服务器上是没有虚拟IP的(除非主节点119 keepalived服务停止)
在119服务器 查看虚拟IP

ip a

在这里插入图片描述

6.2. 主节点出现单点故障 测试

测试结果预测:

1. keepalived 服务正常启动,虚拟ip在 主节点的服务器上(119 服务器)
2. 当主节点出现单点故障后,虚拟ip会漂移到BACKUP节点

模拟虚拟IP漂移到 120服务器场景

停止主节点119 keepalived服务停止

service keepalived stop

再次查看119 是否存在虚拟IP

ip a

在这里插入图片描述
再次查看120 虚拟IP是否漂移成功

ip a

在这里插入图片描述

从上面模拟测试结果,符合咱们的预测!!!

6.3. 主节点出现单点故障+重新启动主节点 测试

1. keepalived 服务正常启动,虚拟ip在 主节点的服务器上(119 服务器)
2. 当主节点出现单点故障后,虚拟ip会漂移到BACKUP节点
3. 当主节点单点故障修复后,由于咱们设置了权重,主节点权重比从节点权重大,因此,虚拟IP会重新回到主节点服务器上

二次模拟测试,权重是否设置正常
119 权重权重 100
120 设置权重 90

yuce测试结果:
当主节点119 keepalived节点再次启动,虚拟ip又会回到主节点服务器上

主节点119服务器再次启动 keepalived 服务,进行模拟测试

[root@hk-01 keepalived]# service keepalived start
Starting keepalived (via systemctl):                       [  OK  ]
[root@hk-01 keepalived]# ip a
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:2a:fc:5d brd ff:ff:ff:ff:ff:ffinet 192.168.0.119/24 brd 192.168.0.255 scope global noprefixroute dynamic ens33valid_lft 70561sec preferred_lft 70561secinet 192.168.0.112/32 scope global ens33valid_lft forever preferred_lft foreverinet6 fe80::ac32:9647:2dd9:bed5/64 scope link noprefixroute valid_lft forever preferred_lft forever
[root@hk-01 keepalived]# 

120 服务器 查看测试结果

[root@hk-02 keepalived]# ip a
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:f9:d8:e3 brd ff:ff:ff:ff:ff:ffinet 192.168.0.120/24 brd 192.168.0.255 scope global noprefixroute dynamic ens33valid_lft 70574sec preferred_lft 70574secinet6 fe80::ac32:9647:2dd9:bed5/64 scope link tentative noprefixroute dadfailed valid_lft forever preferred_lft foreverinet6 fe80::c92d:38e3:9ea0:a936/64 scope link noprefixroute valid_lft forever preferred_lft forever
[root@hk-02 keepalived]#

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

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

相关文章

AirPods Pro 到底「Pro」在哪里?

2019 嵌入式智能国际大会即将来袭&#xff01;购票官网&#xff1a;https://dwz.cn/z1jHouwEAirPods Pro一出&#xff0c;又被网友疯狂恶搞。有吐槽AirPods Pro&#xff0c;只是AirPods的复制版本的。有吐槽AirPods Pro&#xff0c;像个吹风机的。有吐槽像植物大战僵尸的。2018…

python pow和**_「Python学习笔记」Python函数高级应用

Python, 函数本身也是一个对象函数既可以赋值&#xff0c;也可以用作其他函数的参数&#xff0c;还可作为其他函数的返回值。使用函数变量Python的函数也是一种值&#xff1a;所有函数都是function对象&#xff0c;这意味着可以把函数本身赋值给变量&#xff0c;就像把整数、浮…

黑科技揭秘:如何通过阿里云超算,使得汽车仿真效率提升25%

在汽车行业&#xff0c;过去有一句俗话&#xff0c;一辆车从设计到下线&#xff0c;“至少要11辆真实碰撞试验”&#xff0c;今天&#xff0c;在现代化的汽车制造业&#xff0c;通过长期发展的设计和仿真软件&#xff0c;几乎所有的环节&#xff0c;都可以做到设计与仿真一体化…

更改应用程序图标_苹果更新 TestFlight 应用图标,增加更多拟真细节

TestFlight 是苹果公司针对开发者分发测试软件的应用&#xff0c;开发者可通过 TestFlight 向最多1万名测试者分发待测试应用。测试者在测试使用软件的同时&#xff0c;还可以向开发者提供使用意见或遇到的问题。最近&#xff0c;标志情报局发现&#xff0c;TestFlight 应用程序…

在一夜暴富之前,我先一夜秃了头

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 朱小五and王小九责编 | 阿秃与天斗&#xff0c;其乐无穷&#xff1b;与地斗&#xff0c;其乐无穷&#xff1b;与发际线斗&#xff0c;虽败犹荣……年轻人&#xff0c;今天的你比昨天更秃了吗&#xff1f;口说无凭&#xff…

负载均衡工具 haproxy 单机安装部署完整流程

负载均衡是系统设计最常见的一种方式&#xff0c;Nginx、HAProxy、LVS、F5用得比较普遍&#xff0c;不过Nginx只能在HTTP层负载&#xff0c;而HAProxy即可以在7层做负载&#xff0c;也可以在4层做负载&#xff0c;LVS配置有点太麻烦。 HAProxy是免费、极速且可靠的用于为TCP和基…

黑科技揭秘:阿里云如何做到从业务宕机到恢复业务运行只用一分半钟时间

2018杭州云栖大会主论坛上&#xff0c;阿里云打造的混合云容灾方案惊喜亮相&#xff0c;并直接在现场进行了全过程的演示&#xff0c;凸显出阿里云技术的强大心智。 整个混合云容灾演示在5分钟内呈现了阿里云秒级RPO&#xff0c;分钟级RTO企业应用容灾的端到端流程&#xff0c;…

恭喜你!在25岁前看到了这篇最最靠谱的深度学习入门指南

戳蓝字“CSDN云计算”关注我们哦&#xff01;人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;在当下的火热程度我就不多说了&#xff0c;但是真正懂这方面的人又有多少呢&#xff1f;本文将带你了解人工智能和机器学习的基本知识。同时&#xff0c;你…

华为智能家居app未能连接上远程云服务_【InForSec通讯】智能家居云平台实体间交互状态安全分析 | Usenix2019...

论文题目&#xff1a;Discovering and Understanding the Security Hazards in the Interactions between IoT Devices&#xff0c; Mobile Apps&#xff0c; and Clouds on Smart Home Platforms论文作者&#xff1a; Wei Zhou&#xff0c; Yan Jia&#xff0c; Yao Yao&#…

黑科技揭秘:百种异常随机注入,专有云为何稳如泰山

关键应用服务中断引发一系列连锁反应&#xff0c;起因仅是一块磁盘被写满&#xff1f;为什么这么巧&#xff0c;两个小概率的问题偏偏一起发生&#xff0c;造成保护失效&#xff1f;为什么我们做了测试演练&#xff0c;然而真正发生问题依然踩坑&#xff1f;”2018杭州云栖大会…

负载均衡工具 haproxy 集群安装部署完整流程

负载均衡是系统设计最常见的一种方式&#xff0c;Nginx、HAProxy、LVS、F5用得比较普遍&#xff0c;不过Nginx只能在HTTP层负载&#xff0c;而HAProxy即可以在7层做负载&#xff0c;也可以在4层做负载&#xff0c;LVS配置有点太麻烦。 HAProxy是免费、极速且可靠的用于为TCP和基…

阿里云 MaxCompute 2018-09 新功能发布

2018年9月大数据计算服务 MaxCompute 又发布新功能啦&#xff01; 【新功能】MaxCompute窗口函数支持WINDOW_CLAUSE 参考文档 适用客户 数据开发人员在进行数据开发过程中&#xff0c;用到调用window函数窗口时&#xff0c;SQL里反复写上OVER语句会显得冗余&#xff0c;MaxC…

要不要赶个时髦,去建设一个「 中台 」?

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 奎哥责编 | 阿秃很多技术人总是抱怨 新技术/新框架/新概念 太多了&#xff0c;总是学不完&#xff0c;抱怨实在是学不动了。哈哈&#xff0c;这不&#xff0c;最近「 中台 」这么火热&#xff0c;要不要停止抱怨&#xff0…

strcpy用于调用的参数太少_C和汇编如何互相调用?嵌入式工程师必须掌握

ARM系列文章&#xff0c;请点击以下汇总链接&#xff1a;《从0学arm合集》一、gcc 内联汇编内联汇编即在C中直接使用汇编语句进行编程&#xff0c;使程序可以在C程序中实现C语言不能完成的一些工作&#xff0c;例如&#xff0c;在下面几种情况中必须使用内联汇编或嵌入型汇编。…

在阿里云上试用 Knative

在今年的Google Cloud Next大会上&#xff0c;Google发布了Knative, 这是由Google、Pivotal、Redhat和IBM等云厂商共同推出的Serverless开源工具组件&#xff0c;它与Istio&#xff0c;Kubernetes一起&#xff0c;形成了开源Serverless服务的三驾马车。 本文来自阿里巴巴中间件…

阿里云参加ONS EU 2018,飞天洛神亮相网络顶会

9月25日&#xff0c;荷兰阿姆斯特丹&#xff0c;为期3天的网络科技界盛会Open Networking Summit拉开序幕。来自世界各地的网络技术领域专家齐聚一堂&#xff0c;参与并分享各自分支领域的经验和成果。阿里云在会上展示了虚拟网络系统飞天洛神&#xff0c;智能网络管理平台齐天…

linux中如何在文件中查找文件,linux下find(文件查找)命令的用法总结

每一种操作系统都有成千上万的文件组成&#xff0c;对于linux这样“一切皆文件”的操作系统来说更不例外&#xff0c;大家应该都能很轻松使用windows下的文件查找功能&#xff0c;但是对linux这一功能可能并不是很熟悉&#xff0c;其实想玩linux的你更要牢牢掌握这个命令&#…

主动安全,新华三融合生态之力!

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 晶少责编 | 阿秃出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;“如今网络安全形势错综复杂&#xff0c;解决方案不可能由一家公司独当天下&#xff0c;面对这样的情况&#xff0c;我们就要选择自身擅长…

阿里敏捷实践| 4个迭代,从批量交付向持续交付转型

导语 忙不完的事情&#xff0c;解不完的bug&#xff0c;每次发版都得集体熬个大通宵。干得多&#xff0c;结果还不好。阿里内部某研发团队就正处在这样的漩涡之中。 在这样的背景下&#xff0c;阿里云效敏捷教练团队受邀&#xff0c;和该研发团队一起&#xff0c;通过4个迭代…

阿里云携手爱迪德,发布中国首个云端DRM解决方案

2018杭州云栖大会期间&#xff0c;阿里云携手技术生态合作伙伴-爱迪德&#xff0c;推出中国首个云端DRM解决方案。该方案受CHINA DRM LAB和好莱坞六大电影公司认可&#xff0c;可以有效加强平台方对高价值版权内容的保护&#xff0c;监测和防止视频内容的盗版。 爱迪德中国区销…