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

相关文章
|
11天前
|
开发框架 监控 .NET
Visual Basic的Web服务和REST API开发指南
【4月更文挑战第27天】本文探讨了使用Visual Basic(VB.NET)构建Web服务和RESTful API的方法。首先介绍了Web服务的基础和REST API的概念,然后阐述了.NET Framework与.NET Core/.NET 5+对VB.NET的支持,以及ASP.NET Core在Web开发中的作用。接着,详细讲解了创建RESTful API的步骤,包括控制器与路由设置、模型绑定与验证,以及返回响应。此外,还讨论了安全措施、测试方法、部署选项和监控策略。最后强调,VB.NET开发者可以通过ASP.NET Core涉足现代Web服务开发,拓宽技术领域。
|
13天前
|
应用服务中间件 网络安全 nginx
快速上手!使用Docker和Nginx部署Web服务的完美指南
快速上手!使用Docker和Nginx部署Web服务的完美指南
|
2月前
|
网络协议 Java Nacos
nacos常见问题之在web界面 上下线服务时报错 400如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
37 0
|
2月前
|
监控 Serverless 测试技术
Serverless 应用引擎常见问题之做的web服务计费如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
410 3
|
2月前
|
负载均衡 Java 中间件
使用Go语言构建高性能Web服务
Go语言作为一种快速、高效的编程语言,其在构建高性能Web服务方面具有独特优势。本文将探讨如何利用Go语言开发和优化Web服务,以实现更高的性能和可伸缩性。
|
2天前
|
开发框架 JavaScript 安全
WIndows Server 2016 部署 Web服务(简单篇)
WIndows Server 2016 部署 Web服务(简单篇)
|
4天前
|
负载均衡 算法 前端开发
Haproxy搭建Web群集
这只是一个基本的HAProxy配置示例,你可以根据需要进行更高级的配置,包括SSL终端、健康检查、ACL(Access Control List)等。确保HAProxy的配置文件中的语法正确,以避免错误。在生产环境中,还应该考虑安全性和高可用性等因素。
20 7
|
8天前
|
缓存 监控 测试技术
【Go语言专栏】使用Go语言构建高性能Web服务
【4月更文挑战第30天】本文探讨了使用Go语言构建高性能Web服务的策略,包括Go语言在并发处理和内存管理上的优势、基本原则(如保持简单、缓存和并发控制)、标准库与第三方框架的选择、编写高效的HTTP处理器、数据库优化以及性能测试和监控。通过遵循最佳实践,开发者可以充分利用Go语言的特性,构建出高性能的Web服务。
|
15天前
|
监控 Shell
Shell脚本监控WEB服务是否正常
Shell脚本监控WEB服务是否正常
|
21天前
|
JSON API 数据库
解释如何在 Python 中实现 Web 服务(RESTful API)。
在Python中实现Web服务(RESTful API)涉及选择框架(如Flask、Django、FastAPI),定义路由及处理函数(对应HTTP请求方法),处理请求,构建响应和启动服务器。以下是一个使用Flask的简单示例:定义用户列表,通过`@app.route`装饰器设置GET和POST请求处理函数,返回JSON响应,并用`app.run()`启动服务器。实际API会包含更复杂的逻辑和错误处理。
16 1