当前位置:首页 > 技术知识 > 正文内容

CentOS6下通过Yum安装 heartbeat教程

maynowei8个月前 (09-13)技术知识74


一、依赖环境安装

yum install e2fsprogs-devel libuuid-devel Libnet libtool-ltdl-devel libxslt-devel bzip2-devel glib2-devel perl* glib* yum install autoconf automake libtool glib2-devel bzip2-devel glib-devel libxml2 libxml2-devel docbook-style-xsl libtool-ltdl-devel yum install libxml2-dev libbz2-dev uuid-dev asciidoc libxslt1-dev yum install net-snmp* perl-Compress* perl-HTML* perl-libwww* perl-MailTools* perl-TimeDate* perl-URI* yum install perl-IO-Socket* perl-Socket6* perl-Pod* perl-Test-Pod* libnet*

二、正式安装heartbeat

在centos下如果直接yum 安装的话 ,提示找不到包。原因是针对centos6.2的heartbeat尚未发布,解决办法可以到第三方资源为库中找,这里使用epel

先下载安装epel

wget
http://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-6.noarch.rpm rpm -ivh
epel-release-6-6.noarch.rpm 或者
http://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

之后安装heartbeat

yum -y install heartbeat-stonith heartbeat-pils heartbeat heartbeat-devel heartbeat-gui libnet

三、测试

网络环境:

主节点: 主机名:114.localdomain ( NodeA )

eth0: 192.168.4.114 255.255.255.0 //HA心跳使用地址

eth1: 192.168.2.114 255.255.255.0 //对外IP地址

备节点: 主机名:235.localdomain ( NodeB )

eth0: 192.168.4.235 255.255.255.0 //HA心跳使用地址

eth1: 192.168.2.235 255.255.255.0 //对外IP地址

vip: 192.168.2.17

两台机器的/etc/hosts文件中需要加入如下的配置

192.168.2.114 114.localdomain

192.168.2.235 235.localdomain

主节点的/etc/sysconfig/network文件的HOSTNAME如下

HOSTNAME=114.localdomain

从节点的/etc/sysconfig/network文件的HOSTNAME如下

HOSTNAME=235.localdomain

配置: Heartbeat的主要配置文件有ha.cf、haresources、authkeys,需要放在/etc/ha.d目录下, 在通过yum安装Heartbeat后,默认并没有这三个文件, yum 安装后可以从
/usr/share/doc/heartbeat-2.1.3找到,拷贝到/etc/ha.d并编辑(直接新建也行)

cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d/

cp /usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d/

cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d/

主节点配置文件:ha.cf 内容设置如下:

debugfile /var/log/ha-debug #用于记录heartbeat的调试信息

logfile /var/log/ha-log #用于记录heartbeat的日志信息

logfacility local0 #系统日志级别

keepalive 2 #设定心跳(监测)间隔时间,默认单位为秒

warntime 10 ##警告时间,通常为deadtime时间的一半

deadtime 30 # 超出30秒未收到对方节点的心跳,则认为对方已经死亡

initdead 120 #网络启动时间,至少为deadtime的两倍。

udpport 694 #使用udp端口694 进行心跳监测

bcast eth0

auto_failback on #on表示当拥有该资源的属主恢复之后,资源迁移到属主上

node 114.localdomain #设置集群中的节点,节点名须与uname –n相匹配

node 235.localdomain #节点2

主节点资源文件:haresources cat /etc/ha.d/haresources

114.localdomain IPaddr::192.168.2.17/24

1

主节点认证文件authkeys cat /etc/ha.d/authkeys

auth 1

1 crc

注:需要更改该文件的属性为600,否则heartbeat启动将失败

chmod 600 authkeys

备节点配置与主节点一致

启动heartbeat 主节点:/etc/init.d/heartbeat start 备节点:/etc/init.d/heartbeat start

查看日志: tail -f /var/log/ha-log

注: 主节点启动heartbeat后,过120s后,才会创建虚拟IP 关闭主节点的heartbeat后,114上会关闭虚拟IP,备节点会启动虚拟IP。这是资源交接完成。

相关文章

Objective C interface(objective什么意思)

在Objective C里面,interface基本可以理解为其他语言里面的class。当然也有些不同。首先我们可以新建一个Objective-C的file。这里我们添加一个MyClass.m和一个M...

打通 JAVA 与内核系列之 一 ReentrantLock 锁的实现原理

写JAVA代码的同学都知道,JAVA里的锁有两大类,一类是synchronized锁,一类是concurrent包里的锁(JUC锁)。其中synchronized锁是JAVA语言层面提供的能力,在此不...

C语言编写多线程,什么时候要使用互斥锁?为什么要使用互斥锁?

在多线程编程中,当多个线程同时访问共享资源(如变量、文件等)时,会出现竞态条件(Race Condition)问题,导致程序的行为不可预测。为了避免这种问题,需要使用互斥锁来保护共享资源的访问。互斥锁...

什么?Java 中的锁还有状态?(java中的锁都有哪些类型)

线程如果锁住了某个资源,致使其他线程无法访问的这种锁被称为悲观锁,相反,线程不锁住资源的锁被称为乐观锁,而自旋锁是基于 CAS 机制实现的,CAS又是乐观锁的一种实现,那么对于锁来说,多个线程同步访问...

python-oracledb——利用python连接Oracle数据库的好用方法

这篇文章最早发布在CSDN了,最近想尝试使用一下头条,重新转移过来了。背景介绍之前使用的数据库一直是MySql,偶尔使用PostgreSQL,都是利用的数据库连接池使用;最近需要在Oracle数据库取...

Oracle数据库云服务系列新增前所未有的企业级功能

新推出的关键任务型功能包括:实现容错可用性和按需可扩展性的集群;零数据丢失灾难恢复;Oracle数据库Exadata云服务。甲骨文还宣布推出一项最新免费数据库云服务,数据库管理员和开发人员通过该服务可...