主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. Python文件操作生成csv及其他存储类型

    通常Pandas用习惯后,比较喜欢用.to_csv的操作直接来转成csv文件,但如果是对于列表,则可以使用文件操作生成写入csv文件: #打开文件fid0=open('baseline.csv','w ...

  2. 20175213 2018-2019-2 《Java程序设计》第10周学习总结

    Java内存模型 主内存与工作内存 Java内存模型主要目标:定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节.此处的变量(Variable)与Java编程中 ...

  3. python re.findall(rule,data),根据左右边界取值url中参数的值

    import re ''' 取值postid,左边界"postid=",右边界"&" ''' url="http://wwww.baidu.c ...

  4. HTML5: HTML5 Video(视频)

    ylbtech-HTML5: HTML5 Video(视频) 1.返回顶部 1. HTML5 Video(视频) 很多站点都会使用到视频. HTML5 提供了展示视频的标准. 检测您的浏览器是否支持 ...

  5. Python Numpy 矩阵级基本操作(1)

    NumPy的操作介绍 import numpy as np #导入numpy包,简写为np print "Generate 1*10 matrix" a=np.arange(1,1 ...

  6. 使用 C++ 编写的基础 Windows 服务 (CppWindowsService)

    最近项目中涉及到使用C++写一个后台服务程序,找了很多资料,还是使用Google搜索找到了比较详细点的资料,就是从微软官方MSDN的例子,如下: 使用 C++ 编写的基础 Windows 服务 (Cp ...

  7. 在JMeter测试计划中如何控制业务比例

    作者:Selingchen 来源:CSDN 原文:https://blog.csdn.net/selingchen/article/details/47844375

  8. Anjular的ng-repeat

    Anjular的ng-repeat不会循环一个二维集合中的一维集合.举个例子:集合 list=  {1,2,{0,1,2},23,222},small={0,1,2},使用ng-repeat" ...

  9. matlab中struct创建方法

    MATLAB中struct创建方法可分为:直接创建法和struct()函数创建法 (1)直接创建: 直接定义字段,像使用一般matlab变量一样,不需要事先声明,支持动态扩充.下面创建一个Studen ...

  10. lg5169 xtq的异或和

    题目 根据一些众所周知的结论,我们先跑一棵生成树出来,之后把所有简单环都搞出来,那么\(u\)到\(v\)的路径一定可以由树上的路径和一些简单环拼起来得到 把所有简单环都插到一个线性基里,之后dfs一 ...