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. LabView 下载与安装

    labview2014是目前labview软件的最新版本,新版本增加了多个VI服务器对象,增加了多个vi脚本对象,增加了labview第三方许可和激活工具包,同时针对程序框图.编辑环境.应用程序生成器 ...

  2. Js 实现 C# Format方法

    参考网友的, 挺好用的: String.prototype.format = function (args) { if (arguments.length > 0) { var result = ...

  3. jQuery validate 的valid()方法一直返回true

    1 调用$('#myForm').valid(),一直返回ture eg:html <form id="myForm"> <input class="f ...

  4. php 二维码生成类

    <?php /** * BarcodeQR - Code QR Barcode Image Generator (PNG) * @package BarcodeQR * @category Ba ...

  5. 基础命名空间:序列化 System.Runtime.Serialization

    对象通常都有状态(state),从一个对象中抽取这种状态,不论是将它存储于某地,还是通过网络传送,这种抽取动作称为“将一个对象序列化”,而反向处理过程,从一个被序列化的状态重建一个对象即为反序列化. ...

  6. codeforces 337C Quiz(贪心)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Quiz Manao is taking part in a quiz. The ...

  7. C++、GDAL创建shapefile,并向矢量文件中添加网格

    //总体来说这个过程就是构建数据源->构建层->构建要素->构建形状->关闭数据源. //要包含的GDAL头文件 #include <gdal_priv.h> #i ...

  8. OFBiz应用https与http方式访问切换

    url.properties port.https.enabled=N port.https=8444 force.https.host=

  9. apche commons项目简介

    1.apche commons项目封装了日常开发中经常使用的功能,如io, String等. http://commons.apache.org/ Apache Commons项目的由三部分组成: T ...

  10. [C++程序设计]对“&”和“*”运算符

    对“&”和“*”运算符再做些说明:(1) 如果已执行了“pointer_1=&a;”语句,请问&*pointer_1的含义是什么?“&”和“*”两个运算符的优先级别相同 ...