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. qt超强精美绘图控件 - QCustomPlot一览 及 安装使用教程

    1.概述 QCustomPlot 是一个超强超小巧的qt绘图类,非常漂亮,非常易用,只需要加入一个qcustomplot.h和qcustomplot.cpp文件即可使用,远比qwt方便和漂亮,可以自己 ...

  2. linux ssh-keygen

    用ssh client 客户端 远程登录服务器,避免每次都得输入密码: 解决方法: ssh-keygen  复制 id_rsa.pub 中的内容 到 远程连接的服务器的~/.ssh/authorize ...

  3. Oracle字符集查看

    Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系.ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据.它使数据库工具,错误消息,排序次序,日期 ...

  4. NET基础课-- 类型基础(NET之美)

    1.类型:值类型  引用类型. 分类依据:类型在内存的分配方式.值类型在堆栈,引用类型在托管堆. 名词:栈--所有变量都会被分配在栈上,只不过值类型直接含有数据,引用类型含有一个指向托管堆对象的地址. ...

  5. baidu地图的一个拾取坐标系统

    http://api.map.baidu.com/lbsapi/getpoint/index.html 可以很方便的通过标记取得经纬度坐标 也可以输入经纬度坐标获得地图标记

  6. Ajax与ashx异步请求的简单案例

    Ajax与ashx异步请求的简单案例: 前台页面(aspx): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E ...

  7. QSS 样式表 (一)

    在开发应用程序时,往往对界面的美观有一定的要求.Qt 引入了 QSS 机制,使得界面的美化工作变的轻轻松松.嗯,QSS听着有点耳熟.是的,QSS的语法和CSS类似.在此做些总结. 先来看一个简单的例子 ...

  8. [Leetcode] Sort Colors (C++)

    题目: Given an array with n objects colored red, white or blue, sort them so that objects of the same ...

  9. R语言学习笔记(数据的读取与保存)

    library(MASS)#载入package MASSdata(package="MASS") #查看MASS中的数据集data(SP500,package="MASS ...

  10. Ecstore中如何调用发起Ajax请求

    Ecstore的JS框架使用了mootools,所以ajax调用也使用mootools中的Request组件. 语法: var myRequest = new Request([options]); ...