HA 高可用

HA 即 (high available)高可用,又被叫做双机热备,用于关键性业务。 简单理解就是,有两台机器A和B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至B机器继续提供服务。常用实现高可用的开源软件有heartbeat和keepalived,其中keepalived有负载均衡的功能。

下面我们使用heartbeat来做HA集群,并且把nginx服务作为HA对应的服务。

试验准备:
两个机器, 都是centos6.5,网卡eth0 ip如下:

master   192.168.31.166
slave   192.168.31.100

还需要master 上设置一块流动IP 。

(虚IP) eth0:1 192.168.31.80

下面操作1-5都是在两个机器上操作

1. 设置hostname ,分别为master  和 slave

 hostname master ;bash
 hostname slave ;bash

2. 关闭防火墙 iptables -F;

关闭selinux: setenforce 0
3. vi /etc/hosts   // 增加内容如下:

192.168.31.166 master
192.168.31.100 slave

4. 安装epel扩展源:
rpm -ivh  ‘http://www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm‘
5. 两个机器都安装heartbeat / libnet
yum  install -y heartbeat*   libnet  nginx

6.  主上(master)配置
cd /usr/share/doc/heartbeat-3.0.4/
cp  authkeys  ha.cf haresources   /etc/ha.d/
cd /etc/ha.d
vi  authkeys

#auth 3 打开前面的#号 后面的 选择 3 就打开下面 3 前面的#

去掉 #3 md5 Hello!  前面的#号

chmod 600 authkeys

vi  haresources  //加入
master 192.168.31.80/24/eth0:0 nginx

vi  ha.cf   //改为如下内容:

>ha.cf 清空ha.cf 文件,增加以下内容

debugfile /var/log/ha-debug 
#该文件保存heartbeat的调试信息

logfile /var/log/ha-log     
#heartbeat的日志文件

logfacility     local0  
#告诉heartbeat记录那些syslog 

keepalive 2 
#心跳的时间间隔,默认时间单位为秒

deadtime 30 
#超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡。

warntime 10 
#超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中。

initdead 60 
#在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔。取值至
少为deadtime的两倍。

udpport 694  
#设置广播通信使用的端口,694为默认使用的端口号。
ucast eth0 192.168.31.100(slave的ip) 
#设置单播通信所使用的网络接口卡。组播的话设置为bcast

auto_failback on  
#heartbeat的两台主机分别为主节点和从节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给从
节点并由从节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代从节点,否则不取代从节点。

node    master
node    slave
#haresources文件用于指定双机系统的主节点、集群IP、子网掩码、广播地址以及启动的服务等。其配置语句格式如下:
node-name  network-config  
其中node-name指定双机系统的主节点,取值必须匹配ha.cf文件中node选项设置的主机名中的一个,node选项设置的另一个主机名成为从节点
。
network-config用于网络设置,包括指定集群IP、子网掩码、广播地址等。resource-group用于设置heartbeat启动的服务,该服务最终由双机
系统通过集群IP对外提供。

ping 192.168.31.1(选择的是网关)  
#用来测试网络连接。

respawn hacluster /usr/lib/heartbeat/ipfail  
#指定与heartbeat一同启动和关闭的进程,该进程被自动监视,遇到故障则重新启动。最常
用的进程是ipfail,该进程用于检测和处理网络故障,需要配合ping语句指定的ping node来检测网络连接。

7.  把主上的三个配置拷贝到(slave)上:
cd /etc/ha.d/
scp  authkeys  ha.cf haresources   slave:/etc/ha.d/

8. 到从上(slave) 编辑ha.cf
vi  /etc/ha.d/ha.cf   //只需要更改一个地方
ucast eth0 192.168.31.100 改为   ucast eth0 192.168.31.166

9.  启动heartbeat : 
先主,后从
service heartbeat start

10. 检查测试 
ifconfig 看是否有 eth0:0
ps aux |grep nginx  看是否有nginx进程

为了能明确的看出效果

在master 上添加

echo "111111111111111master" >/usr/share/nginx/html/index.html

在slave 上添加

echo "22222222222222slave" >/usr/share/nginx/html/index.html

在浏览器上输入 192.168.31.80/index.html

11.  测试1
master 上故意禁ping
iptables -A INPUT -P ICMP -J DROP

在浏览器上输入 192.168.31.80/index.html

iptables -D INPUT -P ICMP -J DROP (去掉规则)

在浏览器上输入 192.168.31.80/index.html

12. 测试2
master 上停止heartbeat服务
service heartbeat stop 
在浏览器上输入 192.168.31.80/index.html

时间: 2024-10-07 11:45:54

HA 高可用的相关文章

CentOS7+Hadoop2.7.2(HA高可用+Federation联邦)+Hive1.2.1+Spark2.1.0 完全分布式集群安装

1       VM网络配置... 3 2       CentOS配置... 5 2.1             下载地址... 5 2.2             激活网卡... 5 2.3             SecureCRT. 5 2.4             修改主机名... 6 2.5             yum代理上网... 7 2.6             安装ifconfig. 8 2.7             wget安装与代理... 8 2.8       

搭建HA高可用集群

搭建HA高可用集群 一.搭建集群的准备环境 有三台机器,两台上装ricci,另外一台装luci Luci管理机:172.25.47.6 Ricci节点:172.25.47.4   172.25.47.5 Yum仓库: Yum仓库中要指向其他的一些包 注意:yum仓库一般是从Server目录中下载包,但是也有一些其他的包在其他的目录下,因此此次yum 源的配置会和以往不一样 Yum源中配置的是这几个模块: 防火墙方面: 永久关闭防火墙 Selinux方面: 由于这些套件是redhat自带的,所以可

HA高可用的搭建

HA 即 (high available)高可用,又被叫做双机热备,用于关键性业务. 简单理解就是,有两台机器A和B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至B机器继续提供服务.常用实现高可用的开源软件有heartbeat和keepalived,其中keepalived有负载均衡的功能.<ignore_js_op> HA高可用搭建目的及环境说明: 这次是为nginx服务搭建高可用集群. 环境说明:1台主服务器,一台备用服务器. 其中主服务器的eth0 192.168.2.77

ha高可用集群配置(双机热备)

我们用heartbeat开源软件来做ha高可用 准备两台主机A和B A  : eth1 192.168.1.100 B : eth1 192.168.1.101 给主机A修改主机名 hostname master 或者vim /etc/sysconfig/network 给主机B修改主机名 hostname slave 或者vim /etc/sysconfig/network 修改/etc/hosts文件 两台机器上都加入 192.168.1.100  master 192.168.1.101

【4】搭建HA高可用hadoop-2.3(部署配置HBase)

[1]搭建HA高可用hadoop-2.3(规划+环境准备) [2]搭建HA高可用hadoop-2.3(安装zookeeper) [3]搭建HA高可用hadoop-2.3(部署配置hadoop--cdh5.1.0) [4]搭建HA高可用hadoop-2.3(部署配置HBase) 部署配置habase (1)安装habase master1.slave1.slave2.slave3 #cd /opt #tar xf  hbase-0.98.1-cdh5.1.0.tar.gz #ln -s  hbas

Heartbeat学习笔记--HA高可用集群实现

一.部署环境: 服务器版本:CentOS6.5 双主热备模式: VIP:192.168.3.30(MASTER上) VIP:192.168.3.32(BACKUP上) 主机网络参数: 接口 MASTER BACKUP 说明 eth1 192.168.3.23 192.168.3.24 内网管理IP eth2 192.168.5.23 192.168.5.24 心跳线 eth3 192.168.2.23 192.168.2.24 外网(临时下载文件用) 网络拓扑: 二.需求分析: 通过Heartb

红帽436——HA高可用集群之概念

一.集群概念: 集群:提高性能,降低成本,提高可扩展性,增强可靠性,任务调度室集群中的核心技术. 集群作用:保证业务不断 集群三种网络:业务网络,集群网络,存储网络 二.集群三种类型: HA:高可用集群     -->正在学习的集群 LP:负载均衡集群 HPC:分布式集群 三.HA模型架构图:(图一.图二) (图一) (图二)

红帽436——HA高可用集群之概念篇

一.集群概念: 集群:提高性能,降低成本,提高可扩展性,增强可靠性,任务调度室集群中的核心技术. 集群作用:保证业务不断 集群三种网络:业务网络,集群网络,存储网络 二.集群三种类型: HA:高可用集群     -->正在学习的集群 LP:负载均衡集群 HPC:分布式集群 三.HA模型架构图:(图一.图二) (图一) (图二)

红帽436——HA高可用集群之安装篇

红帽436--HA高可用集群的安装 图释: 1-  su - :真实机切换至root用户 2-  virt-manager :打开KVM管理工具 3-  从Desktop开启虚拟机:classroom(充当服务器的作用)和三台节点机 图释:在每台节点中操作 1-  通过ssh以节点root远程登录三个节点进行操作: ssh [email protected] 2-  安装pcs服务 3-  关闭firewall,并永久启用pcs服务 4-  设置用户hacluster密码:redhat    -

HA高可用

HA:高可用----------------------------------------------------------- 1.Quorum Journal Manager:群体日志管理 个数2n+1个,保证节点宕机次数为(n-1)/2;一般情况下,JNS在slave节点开启: 2.HA的namenode个数:一定是两个:nn1和nn2; 3.搭建HA步骤: 0.创建软连接:指向hadoop_cluster_HA 1.修改[hdfs-site.xml] <property> <n