HA 即 (high available)高可用,又被叫做双机热备,用于关键性业务。 简单理解就是,有两台机器A和B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至B机器继续提供服务。常用实现高可用的开源软件有heartbeat和keepalived,其中keepalived有负载均衡的功能。
<ignore_js_op>

HA高可用搭建目的及环境说明:

这次是为nginx服务搭建高可用集群。

环境说明:1台主服务器,一台备用服务器。

其中主服务器的eth0 192.168.2.77  eth1 192.168.126.128

备用服务器的eth0 192.168.2.79     eth1 192.168.126.132

eth1的ip为局域网IP,用于心跳线通信使用。

下面操作1-5都是在两个机器上操作

1. hostname 设置好,分别为master  和 slave. 
2. 关闭防火墙 iptables -F;  
    关闭selinux: setenforce 0
3. vi /etc/hosts   // 增加内容如下:(后续配置节点的时候用到)  
192.168.2.77  master

192.168.2.79  slave

4. 安装epel扩展源:
yum install -y epel-release

5. 两个机器都安装heartbeat / libnet
yum  install -y heartbeat*   libnet  nginx

6,主上配置:

1,拷贝配置文件

cd /usr/share/doc/heartbeat-3.0.4/
cp  authkeys  ha.cf haresources   /etc/ha.d/
cd /etc/ha.d

2,编辑认证文件,选择验证方式。
vi  authkeys   选择第三者验证方式

3 md5 Hello!

chmod 600 authkeys

2,

vi haresources //最下面加入

master 192.168.2.100/24/eth0:0 nginx(这里的nginx服务必须是要在/etc/init.d下的) //这里2.100值得是虚拟Ip 绑定在eth0:0上,服务是nginx。

vi ha.cf //改为如下内容:

debugfile /var/log/ha-debug    //错误日志
logfile /var/log/ha-loglog         //日志
facility  local0                       
keepalive 2                           //多久检测一次
deadtime 30                         //
warntime 10
initdead 60
udpport 694
ucast eth1 192.168.126.132    //与备用机器心跳线的ip通信。
auto_failback on                    //当主机器回复正常,资源是否回到主机上。
node   master
node   slave
ping 192.168.126.1      //ping仲裁   
respawn hacluster /usr/lib/heartbeat/ipfail  // hacluster 指定用户   ifpail检测网络的工具。

7.  把主上的三个配置拷贝到从上:
cd /etc/ha.d/
scp  authkeys  ha.cf haresources   slave:/etc/ha.d/

8. 到从上(slave) 编辑ha.cf
vi  /etc/ha.d/ha.cf   //只需要更改一个地方
ucast eth1 192.168.126.132 改为   ucast eth1 192.168.126.128.

9,启动服务。先主后从

/etc/init.d/heartbeat start

10,在主上查看进程和eth0:0是否有获取到虚拟Ip。

ps aux|grep heartbeat

pa aux|grep nginx

ifconfig 看是否有 eth0:0

11.  测试1
主上故意禁ping
iptables -I INPUT -p icmp -j DROP

12. 测试2
主上停止heartbeat服务
service heartbeat stop 
13. 测试脑裂
主和从上都down掉eth1网卡
ifdown eth1

HA高可用的搭建的更多相关文章

  1. Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)

    声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 一.服务器环境 主机名 IP 用户名 密码 安装目录 master188 192.168.29.188 hadoop hadoop /home/ha ...

  2. Hadoop 3.1.2(HA)+Zookeeper3.4.13+Hbase1.4.9(HA)+Hive2.3.4+Spark2.4.0(HA)高可用集群搭建

    目录 目录 1.前言 1.1.什么是 Hadoop? 1.1.1.什么是 YARN? 1.2.什么是 Zookeeper? 1.3.什么是 Hbase? 1.4.什么是 Hive 1.5.什么是 Sp ...

  3. linux -- 基于zookeeper搭建yarn的HA高可用集群

    linux -- 基于zookeeper搭建yarn的HA高可用集群 实现方式:配置yarn-site.xml配置文件 <configuration> <property> & ...

  4. hadoop 集群HA高可用搭建以及问题解决方案

    hadoop 集群HA高可用搭建 目录大纲 1. hadoop HA原理 2. hadoop HA特点 3. Zookeeper 配置 4. 安装Hadoop集群 5. Hadoop HA配置 搭建环 ...

  5. centos HA高可用集群 heartbeat搭建 heartbeat测试 主上停止heartbeat服务 测试脑裂 两边都禁用ping仲裁 第三十二节课

    centos   HA高可用集群  heartbeat搭建 heartbeat测试  主上停止heartbeat服务  测试脑裂  两边都禁用ping仲裁  第三十二节课 heartbeat是Linu ...

  6. Flink 集群搭建,Standalone,集群部署,HA高可用部署

    基础环境 准备3台虚拟机 配置无密码登录 配置方法:https://ipooli.com/2020/04/linux_host/ 并且做好主机映射. 下载Flink https://www.apach ...

  7. 大数据Hadoop的HA高可用架构集群部署

        1 概述 在Hadoop 2.0.0之前,一个Hadoop集群只有一个NameNode,那么NameNode就会存在单点故障的问题,幸运的是Hadoop 2.0.0之后解决了这个问题,即支持N ...

  8. hadoop学习笔记(九):mr2HA高可用环境搭建及处步使用

    本文原创,如需转载,请注明原文链接和作者 所用到的命令的总结: yarn:启动start-yarn.sh   停止stop-yarn.sh zk :zkServer.start ;:zkServer. ...

  9. Spark入门:第2节 Spark集群安装:1 - 3;第3节 Spark HA高可用部署:1 - 2

    三. Spark集群安装 3.1 下载spark安装包 下载地址spark官网:http://spark.apache.org/downloads.html 这里我们使用 spark-2.1.3-bi ...

随机推荐

  1. mybatis参数查询

    单个参数查询            在mapper.xml配置文件中配置                   <select id= "selectByNu" paramet ...

  2. spring mvc + mybatis + spring aop声明式事务管理没有作用

    在最近的一个项目中,采用springMVC.mybatis,发现一个很恼人的问题:事务管理不起作用!!网上查阅了大量的资料,尝试了各种解决办法,亦未能解决问题! spring版本:3.0.5 myba ...

  3. Repeater里面加上if判断

    //创建时绑定 protected void ItemCreated(object sender, RepeaterItemEventArgs e) { if (e.Item.DataItem != ...

  4. ASP.NET中的Request和Respone对象的使用

            前台<body>中的表单代码: ASP.NET对象有如下几个: 本文从“asp.net中通过from表单submit提交到后台的实例”来谈谈Request和Response ...

  5. js基础-需要注意的地方

    ---因为跟别的语言很像,所以只记录要注意的地方 1.== 和 === 的区别 ===要求类型也相等 "5"==5 = ture "5"===5 = false ...

  6. automaticallyAdjustsScrollViewInsets的作用

    简单点说就是automaticallyAdjustsScrollViewInsets根据按所在界面的status bar,navigationbar,与tabbar的高度,自动调整scrollview ...

  7. C# List<T>的详细用法

    所属命名空间:System.Collections.Generic List<T>类是 ArrayList 类的泛型等效类.该类使用大小可按需动态增加的数组实现 IList<T> ...

  8. C++服务器设计(六):设备连接的生命周期管理

    生命周期介绍 每一个服务器系统的新连接从建立开始时,均会经历多个阶段.比如连接的建立,登录的验证,退出前的资源释放等.同时在具体的消息处理中,还会遇到不可识别的消息事件,或者消息处理时出现数据错误等. ...

  9. zoj Grouping(强连通+缩点+关键路径)

    题意: 给你N个人,M条年龄大小的关系,现在打算把这些人分成不同的集合,使得每个集合的任意两个人之间的年龄是不可比的.问你最小的集合数是多少? 分析: 首先,假设有一个环,那么这个环中的任意两个点之间 ...

  10. 迁移google code上的项目到本地版本库

    今年五月份以来就已经连接不上google code了,翻*墙又极度不稳定,在忍受了几个月之后终于决定将项目搬离google code;经过研究之后终于实现了搬迁到本地,最后总结成下文.一者期望对有需要 ...