HA集群
//硬件准备: .两个机器,相同系统 .网卡ip为:aming 192.168.11.24
aming1 192.168.11.23
//实验准备: . hostname : aming , aming1 . 关闭防火墙 : iptables -F setenforce . 更改hosts : vi /etc/hosts 192.168.11.24 aming
192.168.11.23 aming1 . 安装epel扩展源: rpm -ivh 'http://www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm' . 主从都安装heartbeat / libnet / nginx
yum install -y heartbeat* libnet nginx
//实验时需要的 一、 两个机器的网卡需要相同 ,不管是eth0还是eth1。但如果是克隆出来的虚拟机,则网卡一个为eth0,一个为eth1.所以需要设置 在eth1的虚拟机中做下列的步骤
、在/etc/grub.conf 里增加biosdevname=0的启动参数,形如
kernel /vmlinuz-2.6.-131.21..el6.i686 ro root=/dev/mapper/vg_test-lv_root rd_LVM_LV=vg_test/lv_root rd_LVM_LV=vg_test/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF- SYSFONT=latar --将此行复制在上行的下方
cyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet biosdevname= 、删除udev的配置文件rm -f /etc/udev/rules.d/-persistent-net.rules
、把网卡配置文件改名
mv ifcfg-em1 ifcfg-eth0
、把网卡配置文件内容修正,把em1的全部改成eth0
可以使用 perl -p -i -e 's/em1/eth0/g' ifcfg-eth0 或
sed -i 's/em1/eth0/g' ifcfg-eth0 进行替换。
、重启系统即可 二、两个机器之间 拷贝文件 scp 安装:
--> yum install openssh-clients
主 和从都需要安装
//主上配置
[root@localhost ~]# cd /usr/share/doc/heartbeat-3.0./
[root@localhost /heartbeat-3.0.]# cp authkeys ha.cf haresources /etc/ha.d/
[root@localhost /heartbeat-3.0.]# cd /etc/ha.d
[root@localhost ha.d]# vi authkeys
//此配置文件 是主从进行通信的 要时时检测是否有当掉的迹象
//文件最尾处
将
#auth //1 ,2 ,3表示通信的加密程度
# crc {最简单}
# sha1 HI! {最复杂}
# md5 Hello! {第二简单} 改为
auth //选择中间值
# crc
# sha1 HI!
md5 Hello!
[root@localhost ha.d]# chmod authkeys
[root@localhost ha.d]# vi haresources
//这里如果做了nfs共享存储 也可以配置在这里
//加入
aming 192.168.11.10//eth1: nginx /*第一段 master的主机名*/
/*第二段 流动ip,实验时用同网段的*/
/*eth1:0 这个根据主机的网卡设置,主机为eth0则设置为eth0:n,n自定义*/
/*nginx 为哪一个提供服务 意义为如果主的nginx服务down掉以后,从会启动继续提供服务*/ <--流动ip--->
主和从都有自己的 ip ,但当主宕机时 ,主的ip不能跑到从去 即vip ,主运行时,流动ip在主,从运行时,则流动ip在从。
<--> [root@localhost ~]# vi ha.cf
//改为
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive
deadtime
warntime
initdead
udpport
ucast eth1 192.168.11.23
auto_failback on
node aming
node aming1
ping 192.168.11.1
respawn hacluster /usr/lib/heartbeat/ipfail //将主上配置文件拷贝到从上
[root@localhost ~]# cd /etc/ha.d/
[root@localhost ha.d]# scp authkeys ha.cf haresources aming1:/etc/ha.d/
//在从上编辑
[root@localhost ~]# vi /etc/ha.d/ha.cf
//只需要改一个地方,将此处的slave的ip改为master的ip
ucast eth1 192.168.11.23 改为 ucast eth1 192.168.11.24 //启动 heartbeat
//先主,后从
[root@localhost ~]# service heartbeat start
//检查测试 ifconfig 看是否有 eth1: / ip add 命令看是否多了 eth1:
ps aux |grep nginx 看是否有nginx进程 //测试
.主上对nginx的页面进行设置
echo "1111master" > /usr/share/nginx/html/index.html 去浏览器访问 http://192.168.11.10{流动ip}/ 页面会显示 1111master 从上也设置 echo "2222slave" > /usr/share/nginx/html/index.html 设置规则 iptables -A INPUT -p icmp -j DROP
查看heartbeat日志 tail /var/log/ha-log tail -f /var/log/ha-log
看到master停掉 ,转给slave运行 再打开浏览器 页面变成了 2222slave 则说明设置成功 .主上故意禁ping
iptables -I INPUT -p icmp -j DROP --主上的当掉了,从上还可以用
HA集群的更多相关文章
- 安装spark ha集群
安装spark ha集群 1.默认安装好hadoop+zookeeper 2.安装scala 1.解压安装包 tar zxvf scala-2.11.7.tgz 2.配置环境变量 vim /etc/p ...
- Hadoop的HA集群启动和停止流程
假设我们有3台虚拟机,主机名分别是hadoop01.hadoop02和hadoop03. 这3台虚拟机的Hadoop的HA集群部署计划如下: 3台虚拟机的Hadoop的HA集群部署计划 hadoop0 ...
- corosync+pacemaker实现高可用(HA)集群
corosync+pacemaker实现高可用(HA)集群(一) 重要概念 在准备部署HA集群前,需要对其涉及的大量的概念有一个初步的了解,这样在实际部署配置时,才不至于不知所云 资源.服务与 ...
- 使用QJM部署HDFS HA集群
一.所需软件 1. JDK版本 下载地址:http://www.oracle.com/technetwork/java/javase/index.html 版本: jdk-7u79-linux-x64 ...
- Storm-1.0.1+ZooKeeper-3.4.8+Netty-4.1.3 HA集群安装
Storm-1.0.1+ZooKeeper-3.4.8+Netty-4.1.3 HA集群安装 下载Storm-1.0.1 http://mirrors.tuna.tsinghua.edu.cn/apa ...
- 菜鸟玩云计算之十九:Hadoop 2.5.0 HA 集群安装第2章
菜鸟玩云计算之十九:Hadoop 2.5.0 HA 集群安装第2章 cheungmine, 2014-10-26 在上一章中,我们准备好了计算机和软件.本章开始部署hadoop 高可用集群. 2 部署 ...
- 菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章
菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章 cheungmine, 2014-10-25 0 引言 在生产环境上安装Hadoop高可用集群一直是一个需要极度耐心和体力的细致工作 ...
- 架构之高可用性(HA)集群(Keepalived)
Keepalived简介 Keepalived是Linux下一个轻量级别的高可用解决方案.高可用(High Avalilability,HA),其实两种不同的含义:广义来讲,是指整个系统的高可用行,狭 ...
- 手动部署 kubernetes HA 集群
前言 关于kubernetes HA集群部署的方式有很多种(这里的HA指的是master apiserver的高可用),比如通过keepalived vip漂移的方式.haproxy/nginx负载均 ...
- 基于zookeeper的高可用Hadoop HA集群安装
(1)hadoop2.7.1源码编译 http://aperise.iteye.com/blog/2246856 (2)hadoop2.7.1安装准备 http://aperise.iteye.com ...
随机推荐
- [BZOJ2067]szn
description BZOJ权限题. solution 一道非常好的二分+贪心题目. 第一问就是\(\frac{\sum_u(deg[u]-1)}{2}+1\). 第二问需要在方案最优的情况下最长 ...
- BZOJ1096:[ZJOI2007]仓库建设——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=1096 L公司有N个工厂,由高到底分布在一座山上.如图所示,工厂1在山顶,工厂N在山脚.由于这座山处于 ...
- React属性用法总结
1. 键值对 <ClaaNameA name = “Tom” /> <ClaaNameA name = {Tom} /> <ClaaNameA name = {“Tom” ...
- 51nod 1257 背包问题 V3(分数规划)
显然是分数规划...主要是不会求分数的形式,看了题解发现自己好傻逼QAQ 还是二分L值算出d[]降序选K个,顺便记录选择时候的p之和与w之和就可以输出分数形式了... #include<iost ...
- SoC时钟系统简介
1.SoC的时钟获得一般有: * 外部直接输入时钟信号,SoC有个引脚用来输入外部时钟信号,用的很少. * 外部晶振+内部时钟发生器产生时钟,大部分低频单片机都是这么工作的. * 外部晶振+内部时钟发 ...
- DEBUG宏
4.8.6.运算中的临时匿名变量4.8.6.1.C语言和汇编的区别(汇编完全对应机器操作,C对应逻辑操作)(1)C语言叫高级语言,汇编语言叫低级语言.(2)低级语言的意思是汇编语言和机器操作相对应,汇 ...
- Java并发之同步原语
volatile: 定义:Java编程语言允许线程访问共享变量,为了确保共享变量内被准确和一致性地更新,线程应该确保通过排它锁单独获得这个变量.根据volatile的定义,volatile有锁的语义. ...
- java项目环境搭建
开发java项目时,由于涉及到版权问题,最好使用开源.免费的软件.比如eclipse. 此外,一个web的java项目涉及到jdk.tomcat等,插件还可能用到svn插件.maven插件. 建议进入 ...
- C++ 指针常见用法小结
1. 概论 2.指针基础 3. 指针进阶 4. 一维数组的定义与初始化 5. 指针和数组 6. 指针运算 7. 多维数组和指针 8. 指针形参 9. 数组形参 10. 返回指针和数组 11. 结语 ...
- vijos 1464 积木游戏 DP
描述 积木游戏 SERCOI 最近设计了一种积木游戏.每个游戏者有N块编号依次为1 ,2,…,N的长方体积木.对于每块积木,它的三条不同的边分别称为"a边"."b边&qu ...