主T800 eth0 192.168.2.32
备T600 eth1 192.168.2.33
安装nginx

yum install -y nginx

关闭主备的防火墙iptables、selinux

iptables -F ; service iptables save
setenforce
vim /etc/sysconfig/selinux
SELINUX=disabled

修改两台机的hosts文件

cat >> /etc/hosts << “EOF”
192.168.2.32 T800
192.168.2.33 T600
EOF

安装heartbeat、libnet

yum install -y heartbeat libnet

拷贝配置文件主机配置

cd /usr/share/doc/heartbeat-3.0.4/
cp authkeys ha.cf haresources /etc/ha.d/
chmod 600 /etc/ha.d/authkeys
cat >> /etc/ha.d/authkeys << “EOF”

auth
md5 hello!
EOF
cat >> /etc/ha.d/haresources << “EOF”
T800 192.168.2.132//eth0: nginx
EOF
cat > /etc/ha.d/ha.cf << “EOF”
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive
deadtime
warntime
initdead
udpport
ucast eth0 192.168.2.33
auto_failback on
node T800
node T600
ping 192.168.2.1
respawn hacluster /usr/lib64/heartbeat/ipfail
EOF

备机配置

cd /usr/share/doc/heartbeat-3.0.4/
cp authkeys ha.cf haresources /etc/ha.d/
chmod 600 /etc/ha.d/authkeys
cat >> /etc/ha.d/authkeys << “EOF”

auth
md5 hello!
EOF
cat >> /etc/ha.d/haresources << “EOF”

T800 192.168.2.132//eth1: nginx
EOF
cat > /etc/ha.d/ha.cf << “EOF”

debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive
deadtime
warntime
initdead
udpport
ucast eth1 192.168.2.32
auto_failback on
node T800
node T600
ping 192.168.2.1
respawn hacluster /usr/lib64/heartbeat/ipfail
EOF

也可以用scp从主机拷贝到备机

scp authkeys haresources ha.cf T600:/etc/ha.d/

开启服务注意先后顺序先主后备

/etc/init.d/heartbeat start

区分两台主机名

echo T800 > /usr/share/nginx/html/index.html

测试

curl 192.168.2.132

测试

ifconfig

看是否有 eth0:0

ps aux |grep nginx

看是否有nginx进程

测试1
主上故意禁ping

iptables -I INPUT -p icmp -j DROP

测试2

主上停止heartbeat服务

service heartbeat stop

测试脑裂

主和从上都down掉eth0网卡

ifdown eth0

配置说明

debugfile /var/log/ha-debug #排障日志
logfile /var/log/ha-log #日志
logfacility local0 #日志的级别
keepalive 2 #多久去探测一次对面是否存活 2秒
deadtime 30 #30秒没反应,就认为挂掉了
warntime 10 #等待时间10秒
initdead 60 #防止对方服务器在重启 预留60秒
udpport 694 #心跳线通信端口
ucast eth0 192.168.2.33 #对方的ip
auto_failback on #如果备启动了,当主恢复备自动放弃
node T800
node T600
ping 192.168.2.1 #仲裁者 网关或者交换机
respawn hacluster /usr/lib64/heartbeat/ipfail #检测网络联通信

HA配置的更多相关文章

  1. Spark进阶之路-Spark HA配置

    Spark进阶之路-Spark HA配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 集群部署完了,但是有一个很大的问题,那就是Master节点存在单点故障,要解决此问题,就要借 ...

  2. 第九章 搭建Hadoop 2.2.0版本HDFS的HA配置

    Hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作.在hadoop1时代,只有一个NameNode.如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了.这是 ...

  3. 企业级hbase HA配置

    1 HBase介绍HBase是一个分布式的.面向列的开源数据库,就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类 ...

  4. Nchan 实时消息ha 配置

    备注:      Nchan 的数据持久化,以及ha 都是通过redis实现的,如果要做到无单点可以使用redis cluster     同对于Nchan server 进行多副本   1. 安装 ...

  5. hadoop-2.2.0 HA配置

    采用的是4台真实机器: namenode:qzhong  node27 datanode:qzhong node27 node100 node101 操作系统环境:qzhong(Ubuntu-14.0 ...

  6. 第7章 YARN HA配置

    目录 7.1 yarn-site.xm文件配置 7.2 测试YARN自动故障转移 ResourceManager (RM)负责跟踪集群中的资源,以及调度应用程序(例如,MapReduce作业).在Ha ...

  7. 第6章 HDFS HA配置

    目录 6.1 hdfs-site.xml文件配置 6.2 core-site.xml文件配置 6.3 启动与测试 6.4 结合ZooKeeper进行自动故障转移 在Hadoop 2.0.0之前,一个H ...

  8. Spark master节点HA配置

    Spark master节点HA配置 1.介绍 Spark HA配置需要借助于Zookeeper实现,因此需要先搭建ZooKeeper集群. 2.配置 2.1 修改所有节点的spark-evn.sh文 ...

  9. 使用QJM实现HDFS的HA配置

    使用QJM实现HDFS的HA配置 1.背景 hadoop 2.0.0之前,namenode存在单点故障问题(SPOF,single point of failure),如果主机或进程不可用时,整个集群 ...

  10. hadoop-2.3.0-cdh5.1.0完全分布式集群配置HA配置

    一.安装前准备: 操作系统:CentOS 6.5 64位操作系统 环境:jdk1.7.0_45以上,本次采用jdk-7u55-linux-x64.tar.gz master01 10.10.2.57  ...

随机推荐

  1. javascript全量匹配屏蔽词

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 队列Queue--数组实现

    队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表.进行插入操作的端称为队尾,进行删除操作的 ...

  3. MySQl 截取函数 left(),right(),substring(),substring_index() 的用法

    1. 字符串截取:left(str, length) mysql> select left('sqlstudy.com', 3); +-------------------------+ | l ...

  4. 框架-.NET:ASP.NET Core

    ylbtech-框架-.NET:ASP.NET Core ASP.NET Core是一个免费且开放源代码的Web框架,以及由微软和社区开发的下一代ASP.NET.它是一个模块化框架,既可以Window ...

  5. 把数字翻译成字符串 --剑指offer 46题

    # 给一个字符串,按如下规则把它翻译成字符串:1翻译成a,2翻译成b,...25翻译成z:一个数可以有多种翻译方式,比如122可以翻译成abb和kb还可以翻译成aw即3种翻译方式.计算一个数字有几种翻 ...

  6. Netty教程

    Netty是一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序. Netty是一个NIO客户端.服务端框架.允许快速简单 ...

  7. java算法汇总(一)

    1.有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子涨到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月兔子总数为多少? 程序分析:斐波那契数列 0.1.1.2.3.5.8.13.21 ...

  8. Linux执行Java文件

    最近学习shell脚本,写个简单java类让linux去执行 java类没别的东西,就引了一个fastjson的jar,写了个main方法 序列化一个User对象 打印 package com.lws ...

  9. 转 Jmeter参数化--Post请求的Post body 参数化

    2018年01月22日 15:40:58 java2013liu 阅读数:2361收起 个人分类: Jemter   一.使用body data设置参数: 1,首先,使用Fiddler录制post请求 ...

  10. uoj#186 【UR #13】Yist

    题目 orz myy 首先注意到答案有单调性,于是我们可以考虑二分一个\(x\),之后去判断一下每次只使用长度为\(x\)的区间能否删出目标序列 显然我们应该贪心地删除需要删除元素中最小的那一个,感性 ...