HA高可用的搭建
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高可用的搭建的更多相关文章
- Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)
声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 一.服务器环境 主机名 IP 用户名 密码 安装目录 master188 192.168.29.188 hadoop hadoop /home/ha ...
- 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 ...
- linux -- 基于zookeeper搭建yarn的HA高可用集群
linux -- 基于zookeeper搭建yarn的HA高可用集群 实现方式:配置yarn-site.xml配置文件 <configuration> <property> & ...
- hadoop 集群HA高可用搭建以及问题解决方案
hadoop 集群HA高可用搭建 目录大纲 1. hadoop HA原理 2. hadoop HA特点 3. Zookeeper 配置 4. 安装Hadoop集群 5. Hadoop HA配置 搭建环 ...
- centos HA高可用集群 heartbeat搭建 heartbeat测试 主上停止heartbeat服务 测试脑裂 两边都禁用ping仲裁 第三十二节课
centos HA高可用集群 heartbeat搭建 heartbeat测试 主上停止heartbeat服务 测试脑裂 两边都禁用ping仲裁 第三十二节课 heartbeat是Linu ...
- Flink 集群搭建,Standalone,集群部署,HA高可用部署
基础环境 准备3台虚拟机 配置无密码登录 配置方法:https://ipooli.com/2020/04/linux_host/ 并且做好主机映射. 下载Flink https://www.apach ...
- 大数据Hadoop的HA高可用架构集群部署
1 概述 在Hadoop 2.0.0之前,一个Hadoop集群只有一个NameNode,那么NameNode就会存在单点故障的问题,幸运的是Hadoop 2.0.0之后解决了这个问题,即支持N ...
- hadoop学习笔记(九):mr2HA高可用环境搭建及处步使用
本文原创,如需转载,请注明原文链接和作者 所用到的命令的总结: yarn:启动start-yarn.sh 停止stop-yarn.sh zk :zkServer.start ;:zkServer. ...
- 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 ...
随机推荐
- Spring (二) OOP V.S AOP
介绍 这是两种不同的编程思想就好比初中数学中学习的横纵坐标,一种是横向的一种是纵向,OOP是代表X轴而AOP代表Y轴,如下图: 数学几乎可以解释生活中所有的现象,无论是物体运动还是静止,也可以通过数学 ...
- java判断数据类型两种方式
instanceof String s = ""; System.out.println(s instanceof String); // true simp ...
- Oracle监听静态注册和动态注册
静态注册和动态注册总结 一.什么是注册? 注册就是将数据库作为一个服务注册到监听程序.客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库.这个服务名可能与实例名 ...
- HTML基础知识笔记(一)
HTML定义 HTML指的是超文本标记语言 HTML不是编程语言,而是标记语言 标记语言是一套标记标签 HTML是用标记标签来描述网页 HTML标签1 <html></html& ...
- 函数内部用setTimeout()调用自身函数相当于setInterval()
本来setTimeout(function(){},time)只执行了一次function,但是当 function demo() { alert(1); setTimeout('demo()' ,5 ...
- JavaScript ----------------- 寄生式继承
寄生式继承 寄生式继承是于原型式继承紧密相关的一种思路.寄生式基础的思路与寄生构造函数和工厂模式类似,既创建一个仅用于封装继承过程的函数,该函数内部以某种方式来增强对象,最后再像真地是它做了所有工作一 ...
- JQuery 获取指定url对应的html内容
用jquery的ajax类似的请求就可以了:比如: $.get("test.php", function(data){ alert("Data Loaded: " ...
- javascript操作json总结
原文:http://www.cnblogs.com/worfdream/articles/1956449.html JSON(JavaScript Object Notation) 是一种轻量级的数据 ...
- nginx+tomcat的集群和session复制
前端服务器采用nginx,后端应用服务器采用tomcat.nginx负责负载均衡,session复制在tomcat上处理. 1.nginx安装(略) 2.nginx配置负载均衡 http { incl ...
- 0119——UIImageView的一些属性 和 简单动画实现
1.contentMode view.contentMode = UIViewContentModeScaleAspectFill; 2.是否实现触摸 3.简单实现动画 图片的名字为campFire0 ...