CentOS6.5_x64上简单编译配置Heartbeat3.0.4
Heartbeat 3与 2.x的最大差别在于,3 按模块把的原来2.x 拆分为多个子项目,并且提供了一个cluster-glue的组件,专用于Local ResourceManager 的管理。即heartbeat + cluster-glue + resouce-agent 三部分:
引用
(1)hearbeat本身是整个集群的基础(cluster messaging layer),负责维护集群各节点的信息以及它们之前通信;
(2)cluster-glue相当于一个中间层,可以将heartbeat和crm(pacemaker)联系起来,主要包含2个部分,LRM和STONITH;
(3)resource-agent,就是各种的资源的ocf脚本,这些脚本将被LRM调用从而实现各种资源启动、停止、监控等等。
通过这三部分已可构成一套完整的HA集群系统。但是,这还不够,因为没有管理工具。
而原GUI 工具Cluster Resource Manager (简称CRM)也被拆分由另一独立项目Pacemaker 负责。Pacemaker 提供了多种用户接口:
引用
(1)crm shell 基于字符的管理方式;
(2)一个使用Ajax Web配置方式的web konsole 窗口;
(3)hb_gui ,即heartbeat gui 图形配置工具,这也是原来2.x的默认GUI 配置工具;
(4)DRBD-MC,一个基于Java的配置管理工具。
Heartbeat 3.0.4 编译安装(CentOS6.5)
系统环境 CentOS 6.5 X64
nfs 192.168.181.128
node1 192.168.181.132 (node1)
node2 192.168.181.133 (node2)
VIP 192.168.181.150 (虚拟服务器IP)
1.最小化(mininal )安装系统,完成后安装gcc编译器及依赖的软件包
yum install gcc gcc-c++ autoconf automake libtool glib2-devel libxml2-devel bzip2-devel e2fsprogs-devel libxslt-devel libtool-ltdl-devel make wget docbook-dtds docbook-style-xsl asciidoc
2. 添加 Haclient 组和 Hacluster 账户
groupadd haclient
useradd -g haclient hacluster -M -s /sbin/nologin
3.安装Cluster-Glue
官方下载地址 http://hg.linux-ha.org/glue
tar zxf Reusable-Cluster-Components-glue--1.0.8.tar.gz
cd Reusable-Cluster-Components-glue--c69dc6ace936
./autogen.sh
./configure --prefix=/usr/local/heartbeat --sysconfdir=/etc/heartbeat libdir=/usr/local/heartbeat/lib64 CFLAGS=-I/usr/local/heartbeat/include LDFLAGS=-L/usr/local/heartbeat/lib64 LIBS='/lib64/libuuid.so.1'
make && make install
4.安装Resource Agents
官方下载地址 https://github.com/ClusterLabs/resource-agents
tar zxf ClusterLabs-resource-agents-v3.9.2-0-ge261943.tar.gz cd ClusterLabs-resource-agents-b735277 ./autogen.sh ./configure --prefix=/usr/local/heartbeat --sysconfdir=/etc/heartbeat libdir=/usr/local/heartbeat/lib64 CFLAGS=-I/usr/local/heartbeat/include LDFLAGS=-L/usr/local/heartbeat/lib64 LIBS='/lib64/libuuid.so.1'
//32位环境需要将配置参数中的lib64 更改为 lib
ln -s /usr/local/heartbeat/lib64/* /lib64/
make && make install
5.安装Heartbeat
官方下载地址 http://hg.linux-ha.org
tar xf Heartbeat-3-0-7e3a82377fa8.tar.bz2 cd Heartbeat-3-0-7e3a82377fa8 ./bootstrap ./configure --prefix=/usr/local/heartbeat --sysconfdir=/etc/heartbeat CFLAGS=-I/usr/local/heartbeat/include LDFLAGS=-L/usr/local/heartbeat/lib64 LIBS='/lib64/libuuid.so.1' vi /usr/local/heartbeat/include/heartbeat/glue_config.h // 删除 glue_config.h 第50行和最后一行定义的配置文件路径,避免编译时产生的路径重复定义错误,Shift+g 跳到末行,dd删除 :wq保存完成. make && make install
将配置文件复制到 /etc/heartbeat/ 下
cp doc/ha.cf /etc/heartbeat/ha.d/ cp doc/haresources /etc/heartbeat/ha.d/ cp doc/authkeys /etc/heartbeat/ha.d/ chkconfig --add heartbeat chkconfig heartbeat on chmod 600 /etc/heartbeat/ha.d/authkeys
6. 进行配置(只简单说明下提供参考)
# vi /etc/heartbeat/ha.d/ha.cf
编辑Heartbeat 检测参数配置文件,以下文件作为参考
debugfile /var/log/ha-debug # 用于记录heartbeat的调试信息 logfile /var/log/ha-log # 用于记录heartbeat的日志信息 logfacility local0 keepalive # 设置心跳间隔 deadtime # 在30秒后宣布节点死亡 warntime # 在日志中发出“late heartbeat“警告之前等待的时间,单位为秒 initdead # 网络启动时间 udpport # 广播/单播通讯使用的udp端口 #baud #serial /dev/ttyS0 # 使用串口heartbeat bcast eth0 # 使用网卡heartbeat,并在eth0接口上使用广播heartbeat auto_failback on # 当主节点从故障中恢复时,将自动切换到主节点 watchdog /dev/watchdog # 该指令是用于设置看门狗定时器,如果节点一分钟内都没有心跳,那么节点将重新启动 node HA- node HA- # 集群中机器的主机名,与“uname –n”的输出相同。 ping 192.168.0.254 # ping 网关或路由器来检测链路正常 respawn hacluster /usr/local/heartbeat/lib64/heartbeat/ipfail # respawn调用/usr/lib/heartbeat/ipfail来主动进行切换 apiauth ipfail gid=haclient uid=hacluster # 设置启动ipfail的用户和组
编辑认证加密配置
vi /etc/heartbeat/ha.d/authkeys
auth 1
1 md5 a1bd4f86904
#后面加盐随机数 echo $RANDOM | md5sum
编辑ha.cf节点简单配置可以参考上面文件
vi /etc/heartbeat/ha.cf
bcast eth0 # Linux
auto_failback on
node node1.test.com
node node2.test.com
ping 10.10.10.254
编辑资源配置文件
vi /etc/heartbeat/ha.d/haresources
#IPaddr::192.168.181.150/24/eth0
#设置资源代理,VIP 子网掩码 接口 广播地址
node1.test.com IPaddr::192.168.181.150/24/eth0 node1.test.com IPaddr::192.168.181.150/32/eth1 Filesystem::192.168.181.128:/web/htdocs/::/var/www/html::nfs http
#主节点 VIP 资源1 资源2 系统服务
同样的三个配置文件复制到在节点2上
节点1关闭heartbeat 观察节点2情况
CentOS6.5_x64上简单编译配置Heartbeat3.0.4的更多相关文章
- CentOS6.5上golang环境配置
CentOS6.5上golang环境配置 一.下载和解压go环境包 >>cd /usr/local/src/ >>wget -c http://golangtc.com/sta ...
- CentOS6.5 Nginx优化编译配置[续]
继续上文CentOS6.5 Nginx优化编译配置本文记录有关Nginx系统环境的一些细节设置,有关Nginx性能调整除了配置文件吻合服务器硬件之前就是关闭不必要的服务.磁盘操作.文件描述符.内核调整 ...
- Windows 上静态编译 Libevent 2.0.10 并实现一个简单 HTTP 服务器(无数截图)
[文章作者:张宴 本文版本:v1.0 最后修改:2011.03.30 转载请注明原文链接:http://blog.s135.com/libevent_windows/] 本文介绍了如何在 Window ...
- Windows 上静态编译 Libevent 2.0.10 并实现一个简单 HTTP 服务器(图文并茂,还有实例下载)
[文章作者:张宴 本文版本:v1.0 最后修改:2011.03.30 转载请注明原文链接:http://blog.s135.com/libevent_windows/] 本文介绍了如何在 Window ...
- 在ensp上简单的配置交换机
在ensp中我们经常用到交换机,但是我们还没有配置过,下面我们来学习一下怎样简单的配置交换机的速率,双工模式等. 全双工:同时发送和接收数据 半双工:只能在一个时间做一件事 速率:交换机每秒 ...
- CentOS6.5 Nginx优化编译配置
说到Nginx,它真的算是我在运维工作中的好朋友,它优异的性能和极高的工作效率实在是让人大爱,来自internet的报告称其epoll模型能够支持高达50000个并发连接数. Epoll[维基百科]: ...
- centos6.2 下安装并配置hadoop1.0.4(32位安装)
一,环境准备 1. 集群内所有电脑需要设置防火墙,下面以master为例说明: 切换到root用户下,执行setup指令:
- Hadoop学习之路(三)Hadoop-2.7.5在CentOS-6.7上的编译
下载Hadoop源码 1.登录官网 2.确定你要安装的软件的版本 一个选取原则: 不新不旧的稳定版本 几个标准: 1)一般来说,刚刚发布的大版本都是有很多问题 2)应该选择某个大版本中的最后一个小版本 ...
- [原创]Debian9 从零编译配置Redis4.0
序言 Redis 一.准备工作 1.1 更新系统安装包列表 没啥,就他喵想用个最新的. # apt update 1.2 创建需要使用的目录 创建目录source和web,分别用来放源码和编译后的文件 ...
随机推荐
- PHPExcel 导出数据(xls或xlsx)- 助手类(函数)
本文链接:https://www.cnblogs.com/tujia/p/11358096.html 说明:简单好用的导出助手,轻松导出数据到 excel !! 使用示例: Example: Exce ...
- 转 java 8 lamba stream
一直在写中间件相关的代码,提供SDK给业务方使用,但很多业务方还一直停留在1.7版本,迟迟不升级,为了兼容性,不敢在代码中使用Java8的一些新特性,比如Stream之类的,虽然不能用,但还是要学一下 ...
- 【Spring Boot学习之十】整合Dubbo
环境 eclipse 4.7 jdk 1.8 Spring Boot 1.5.2 参考以下两篇文章,总结的很全面: springboot整合最新版dubbo以及dubbo-admin的安装使用Spri ...
- zookeeper实现的分布式锁
在分布式系统中,多个jvm对共享资源进行操作时候,要加上锁,这就是分布式锁 利用zookeeper的临时节点的特性,可以实现分布式锁 public class ZookeeperDistrbuteLo ...
- C语言return返回值深入理解
C语言使用return关键字返回函数值,可以很好对函数做封装,此处的疑问是:函数内部创建的变量都是局部变量,即私有的,作用域就在函数之内,为什么却可以把值传给调用函数? 解释这个问题还需要从C语言调用 ...
- NAIPC 2018
E. Prefix Free Code 大意: 给定$n$个串, 保证任意一个串都不是另一个串的前缀, 从中选出$k$个串可以拼成$\binom{n}{k}k!$种串. 给定其中一个串, 求这个串的排 ...
- oralce学习笔记(二)
分区清理: --范围分区示例 drop table range_part_tab purge; --注意,此分区为范围分区 create table range_part_tab (id number ...
- ubuntu中安装python3和pip
python3: 在ubuntu的包中,python的二代和三代版本的命名:二代:python,三代:python3 安装python3: sudo apt install python3 同理:pi ...
- MySQL单表数据量过千万,采坑优化记录,完美解决方案
问题概述 使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量近2000万,保留最近一年的数据量达到4000万,查询速度极慢,日常卡死.严重影响业务 ...
- 如何在一个Docker中同时运行多个程序进程?
我们都知道Docker容器的哲学是一个Docker容器只运行一个进程,但是有时候我们就是需要在一个Docker容器中运行多个进程 那么基本思路是在Dockerfile 的CMD 或者 ENTRYPOI ...