基于heartbeat的单播方式实现tomcat高可用

1、节点规划

在master、backup节点上添加eth0、eth1两网卡,具体添加过程,参考“基于VMware为CentOS 6.5配置两个网卡

2、IP规划

 
master


backup


eth0


192.168.46.128


192.168.46.130


eth1


192.168.46.129


192.168.46.131

上面这个表格说明master节点中的eth0网卡的IP是192.168.46.128,eth1网卡的IP是192.168.46.129;backup节点中eth0网卡的IP是192.168.46.130,eth1网卡的IP是192.168.46.131

3、VIP规划(虚拟IP规划)


IP地址


子网掩码


说明


192.168.46.150


255.255.255.0


192.168.46.150/24

192.168.46.150/24就等同于IP是192.168.46.150,子网掩码是255.255.255.0

3、网卡规划

 
master


backup


eth0


数据网卡


数据网卡


eth1


心跳网卡


心跳网卡

4、软件规划


软件


版本


说明


heartbeat


3.0.4


使用yum自动安装的


tomcat


7.0.70


需要手动配置

5、目录规划


软件


目录


tomcat-7.0.70


/etc/server

6、安装tomcat

下面以在master节点配置为例

1、创建/etc/server目录,并切换到该目录,如下

2、获得apache-tomcat-7.0.70.tar.gz连接(http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.70/bin/apache-tomcat-7.0.70.tar.gz

3、使用wget下载,如下

4、解压apache-tomcat-7.0.70.tar.gz

5、将apache-tomcat-7.0.70.tar.gz删除,并重名为tomcat

6、在backup节点上也就行相同配置

7、测一下两个节点上的tomcat是否可以正常访问

7、安装heartbeat

在master节点上,输入“yum install heartbeat -y”,安装heartbeat

在执行上面这句时,可能报如下错误

解决方法

1、使用yum list heartbeat,查看源中是否存在heartbeat,如下

2、出现上面问题No matching Packages to list,可能是源中没有heartbeat,默认情况,系统自带了源,但自带源中是没有heartbeat,如下

3、可以添加epel,来解决问题,具体请参考“为centos6.5系统添加epel源

在backup节点上也进行如上操作

8、配置heartbeat

1、heartbeat的配置文件是在/etc/ha.d目录下,默认情况下,haresources、authkeys、ha.cf文件在该目录下是没有的,需要从/usr/share/doc/ heartbeat-3.0.4/拷贝,下面以在master节点上操作为例,如下

在backup节点上也进行如上操作

2、配置ha.cf文件

master节点上的ha.cf文件内容,如下

debugfile /var/log/ha-debug
logfile /var/log/ha-log
# 指定心跳间隔时间为2秒
keepalive 2
# 指定若备节点在30秒内没有收到主节点的心跳信息号,则立即接管主节点的服务资源
deadtime 30
# 指定心跳延迟时间为10秒,10秒内备节点不能收到到主节点的心跳信号时,就会向日志中写入警告,
# 但此时不会接管服务,直到超过deadtime还是不能接到心跳再接管
warntime 10
# 初始化时间为120秒
initdead 120
udpport 694
# 采用网卡eth1来发送心跳,后面的ip地址应为对方的IP地址
ucast eth1 192.168.46.129
# 如果主节点重新恢复过来,主节点将资源抢占过来,如果为off,则只当备节点当掉后,主节点才取回资源
auto_failback on
# 主节点名称,必须和uname -n显示的一致
node master
# 备节点名词,必须和uname -n显示的一致
node backup
# 在备节点不能接收到主节点的心跳时,先ping一下ping服务器,将会判断自己网络是否有问题
ping 192.168.46.2

backup节点上的ha.cf文件与mater中的基本相同,区别如下

ucast eth1 192.168.46.131

其他配置和master中的是一样的,这里不再给出

? 3、配置authkeys

因为机器之间通信需要认证,所以需要配置认证文件authkeys,可选认证有crc、sha1、md5,这里我们选择crc,不加密认证

auth 1
1 crc

master与backup节点中authkeys配置是相同,如上

注意这里需要修改authkeys的权限为600,如下

4、配置haresources

master IPaddr::192.168.46.150/24/eth0 tomcat

master与backup节点中的haresources文件内容如上所示,它们内容是相同的

参数解释:

master是主机名,启动时会在这个主机上绑定vip

IPaddr是heartbeat自带的一个脚本,其后的ip等是脚本的参数

192.168.46.150/24/eth0这句话的意思是:初始化时,在master主机的eth0网卡上绑定虚拟IP(192.168.46.150),子网掩码为255.255.255.0

tomcat是一个脚本,这个脚本可以通过传start/stop参数可以启停tomcat,如果有多个服务要托管给heartbeat,只需使用空格隔开,在后面添加就行;如果要托管的服务需要走不同的虚拟IP就得单起一行去配置了

5、编写tomcat启停脚本

该脚本必须位于/etc/inid.d或/etc/ha.d/resource.d目录下,且脚本名字为tomcat,这里我们放到/etc/ha.d/resource.d目录下,下面以在master节点操作为例,如下

case $1 in
start)
/etc/server/tomcat/bin/startup.sh
;;
stop)
/etc/server/tomcat/bin/shutdown.sh
;;
*)
echo "param (start|stop)"
exit 1
;;
esac
exit 0

为tomcat脚本增加可执行权限,如下

9、启动heartbeat

分别在master、backup节点上输入“/etc/init.d/heartbeat start”,启动heartbeat

10、执行效果如下

如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】。
如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】。
如果,您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客,我是【刘超★ljc】。

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

时间: 2024-12-19 23:45:50

基于heartbeat的单播方式实现tomcat高可用的相关文章

CentOS6.4 高可用集群之基于heartbeat(crm)和nfs的mysql高可用

CentOS6.4 高可用集群之基于heartbeat和nfs的高可用mysql CentOS版本: CentOS release 6.4(Final) 2.6.32-358.el6.i686 效果演示: 使用ssh连接(nod-1.magedu.com)192.168.3.7 并执行以下命令: [[email protected] ha.d]# hb_gui & 说明:hb_gui是heartbeat为了方便管理集群资源而提供的一个图形用户接口 安装heartbeat默认会在系统中创建一个名为

Linux高可用集群方案之配置heartbeat v2基于crm+hb_gui接口,配置ipvs高可用集群

  基于crm+hb_gui接口配置ipvs高可用集群    基于crm+hb_gui+ldirectored接口配置ipvs高可用集群 

DRBD+HeartBeat+NFS:配置NFS的高可用

说明: 上周研究了DRBD的安装和配置,今天研究下DRBD的第一个应用,利用DRBD+HeartBeat+NFS:配置NFS的高可用,作为集群中的底端共享存储 NFS主要存储WEB服务器上的程序代码和一些图片文件 参考: http://network.51cto.com/art/201010/230237_all.htm http://showerlee.blog.51cto.com/2047005/1212185 环境: [[email protected] ~]# cat /etc/issu

通过heartbeat配置lustre元数据服务器mds高可用

本次试验环境 OS:5台RHEL6.4  x86_64 最小化安装 图1为本次试验示意图 其中上图DRBD为添加的5g硬盘,用来DRBD同步数据使用 oss1也添加一块5g的硬盘作为ost使用 MDS采用active-standby模式,示意图如下所示 所有节点的hosts文件如下 [[email protected]~]# cat /etc/hosts 127.0.0.1   localhost localhost.localdomain localhost4localhost4.locald

LVS+keeplived+nginx+tomcat高可用、高性能jsp集群

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://kerry.blog.51cto.com/172631/557749 #!/bin/bash # BY kerryhu # MAIL:[email protected] # BLOG:http://kerry.blog.51cto.com # Please manual operation yum of before Operation..... #yum -y install

heartbeat 配置两台web服务器高可用集群案例

通过heartbeat 配置两台web服务器高可用集群案例: 拓扑: web1:192.168.0.101 hostname: web1.example.com web2:192.168.0.102 hostname:web2.example.com vip:192.168.0.254 nfs服务器:192.168.0.100(存放web页面) 注意: 1主机名要与uname -n 保持一致 2.web1与web2主机的date时间保持同步 3.web1与web2,ssh双机互信通信 4.关闭i

DRBD+Heartbeat+Mysql:配置mysql的高可用

说明: 今天接着研究DRBD的第二个应用,利用DRBD+Heartbeat+Mysql:配置mysql的高可用 环境: [[email protected] ~]# cat /etc/issue CentOS release 6.4 (Final) Kernel \r on an \m [[email protected] ~]# uname -r 2.6.32-358.el6.i686 dbm137 192.168.186.137 dbm137.51.com primary DRBD+Hear

LVS+Keepalived+Nginx+Tomcat高可用集群搭建(转)

LVS+Keepalived+Nginx+Tomcat高可用集群搭建 最近公司重整架构,十几台服务器而且还要尽可能节约成本.我就谷歌了一下在几种集群之前进行比较最终采用了Keepalived+Nginx做负债均衡高可用.虽然之前也研究过集群,看过很多集群方面的原理和架构,但毕竟没有真正操作过以下案例是在虚拟机中完成实验其实对于高可用搭建来说只用给出Keepalived和Nginx的配置即可后面的一些安装搭建完全是本人项目需要可以不用理睬仅供参考. 本文只是实验搭建记录方便以后在服务器中实施搭建.

heartbeat v1 实现 MariaDB数据库的高可用

MariaDB数据库服务的高可用: 使用 heartbeat v1 版实现两个节点的 MariaDB数据库服务的高可用. 节点: node1        192.168.60.33 node2        192.168.60.88 MySQL数据库的数据文件使用nfs共享文件系统解决 nfs Server       192.168.60.22 架构如下图: 一.heartbeat 节点之间通信要求的设置: (1).解决节点的主机名解析 因为 heartbeat 的节点间通讯基于名称.基于