Heartbeat实现Web服务的高可用群集

简介:

 Heartbeat实现Web服务的高可用群集

   HA群集模型如下:对外的vip192.168.2.1,处于活动状态的web的主机名node1,处于备份状态的web的主机名node2,当主状态的web死掉,处于备份状态的web立即变为主状态。以实现高可用性。(不考虑存储)

Node1的配置

1、配置主机名和ip地址

2、编辑hosts文件,使主备之间能相互解析

192.168.2.100  node1.server1.com

192.168.2.200  node2.server2.com

3、上传所需的heartbeat软件包,并安装

heartbeat-2.1.4-9.el5.i386.rpm

heartbeat-pils-2.1.4-10.el5.i386.rpm

heartbeat-stonith-2.1.4-10.el5.i386.rpm

libnet-1.1.4-3.el5.i386.rpm 

perl-MailTools-1.77-1.el5.noarch.rpm

yum localinstall heartbeat-2.1.4-9.el5.i386.rpm  heartbeat-pils-2.1.4-10.el5.i386.rpm heartbeat-stonith-2.1.4-10.el5.i386.rpm libnet-1.1.4-3.el5.i386.rpm perl-MailTools-1.77-1.el5.noarch.rpm -y --nogpgcheck

4、将心跳探测配置文件、资源管理配置文件、之间身份验证配置文件拷贝到/etc/ha.d/目录下

cd  /usr/share/doc/heartbeat-2.1.4/

cp ha.cf  authkeys haresources  /etc/ha.d/

5、编辑ha.cf插入如下

bcast    eth1     --心跳探测接口

node node1.server1.com   --两个节点

node node2.server2.com 

6、编辑authkeys文件插入如下:

 auth 3     

 3 md5 adf25a5a79c3be8e1df5ff1ac64a21fc   --MD5的验证类型 后面是是密钥

chmod 600 authkeys

7、编辑haresources文件插入如下:

node1.server1.com   192.168.2.1/24/eth0   httpd (节点名称(激活的)-------节点vip---脚本资源)

 

8、httpd的控制脚本拷贝到/etc/ha.d/resource.d/目录下,将有heartbeat控制httpd服务

cd /etc/ha.d/resource.d/

cp /etc/init.d/httpd  ./

9、确保httpd现在是stop状态,且开机不启动,因为他的控制权以后就交个了heartbeat,并启动集群heartbeat

启动群集后多了一个接口地址即vip

此时httpd也启动了

node1.server1.com是处于活动状态,下面的node2.server2.com就只能是处于备份状态了,

将不会产生eth0:0接口,及httpd也处于stop状态

Node2是配置

node11-9步)的配置基本完全相同,不在叙述

启动node2.server2.com的群集heartbeat

测试一下

活动状态node1web

在一个client上长ping vip地址,并将node1.server1.com该为备份状态,看是否有丢包(在实际中你可以拔掉一根线)

这样做

cd /usr/share/heartbeat/

./hb_standby   -----模拟失效

再测试一下

node2web,此时node2变成了活动状态

如果node1再抢占位活动状态执行如下命令

cd /usr/share/heartbeat/

./hb_takeover

这个过程中ping没有被中断,高可用群集保证了服务的不间断。。。!!!



本文转自 abc16810 51CTO博客,原文链接:http://blog.51cto.com/abc16810/1107944

相关文章
|
4月前
|
开发框架 监控 安全
Windows Defender 导致 Web IIS 服务异常停止排查
某日凌晨IIS服务异常停止,经查为Windows Defender安全补丁KB2267602触发引擎更新,导致系统资源波动,进而引发应用池回收。确认非人为操作,系统无重启。通过分析日志与监控,定位原因为Defender更新后扫描加重负载。解决方案:将IIS及.NET相关路径添加至Defender排除列表,避免业务影响。
559 116
|
8月前
|
开发框架 安全 前端开发
Go Web开发框架实践:模板渲染与静态资源服务
Gin 是一个功能强大的 Go Web 框架,不仅适用于构建 API 服务,还支持 HTML 模板渲染和静态资源托管。它可以帮助开发者快速搭建中小型网站,并提供灵活的模板语法、自定义函数、静态文件映射等功能,同时兼容 Go 的 html/template 引擎,具备高效且安全的页面渲染能力。
|
8月前
|
开发框架 JSON 中间件
Go语言Web开发框架实践:使用 Gin 快速构建 Web 服务
Gin 是一个高效、轻量级的 Go 语言 Web 框架,支持中间件机制,非常适合开发 RESTful API。本文从安装到进阶技巧全面解析 Gin 的使用:快速入门示例(Hello Gin)、定义 RESTful 用户服务(增删改查接口实现),以及推荐实践如参数校验、中间件和路由分组等。通过对比标准库 `net/http`,Gin 提供更简洁灵活的开发体验。此外,还推荐了 GORM、Viper、Zap 等配合使用的工具库,助力高效开发。
|
10月前
|
中间件 Go
Golang | Gin:net/http与Gin启动web服务的简单比较
总的来说,`net/http`和 `Gin`都是优秀的库,它们各有优缺点。你应该根据你的需求和经验来选择最适合你的工具。希望这个比较可以帮助你做出决策。
513 35
|
数据采集 Web App开发 API
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
727 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
XML JSON 安全
Web服务是通过标准化的通信协议和数据格式
【10月更文挑战第18天】Web服务是通过标准化的通信协议和数据格式
411 69
|
12月前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
825 7
|
Go UED
Go Web服务中如何优雅平滑重启?
在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
363 3
|
JSON Go UED
Go Web服务中如何优雅关机?
在构建 Web 服务时,优雅关机是一个关键的技术点,它确保服务关闭时所有正在处理的请求都能顺利完成。本文通过一个简单的 Go 语言示例,展示了如何使用 Gin 框架实现优雅关机。通过捕获系统信号和使用 `http.Server` 的 `Shutdown` 方法,我们可以在服务关闭前等待所有请求处理完毕,从而提升用户体验,避免数据丢失或不一致。
269 1
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。