基于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
# 指定若备节点在30秒内没有收到主节点的心跳信息号,则立即接管主节点的服务资源
deadtime
# 指定心跳延迟时间为10秒,10秒内备节点不能收到到主节点的心跳信号时,就会向日志中写入警告,
# 但此时不会接管服务,直到超过deadtime还是不能接到心跳再接管
warntime
# 初始化时间为120秒
initdead
udpport
# 采用网卡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
crc
master与backup节点中authkeys配置是相同,如上
注意这里需要修改authkeys的权限为600,如下
4、配置haresources
master IPaddr::192.168.46.150//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 $ in
start)
/etc/server/tomcat/bin/startup.sh
;;
stop)
/etc/server/tomcat/bin/shutdown.sh
;;
*)
echo "param (start|stop)"
exit
;;
esac
exit
为tomcat脚本增加可执行权限,如下
9、启动heartbeat
分别在master、backup节点上输入“/etc/init.d/heartbeat start”,启动heartbeat
10、执行效果如下
如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】。
如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】。
如果,您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客,我是【刘超★ljc】。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
基于heartbeat的单播方式实现tomcat高可用的更多相关文章
- [转]搭建Keepalived+Nginx+Tomcat高可用负载均衡架构
[原文]https://www.toutiao.com/i6591714650205716996/ 一.概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最 ...
- Keepalived + Nginx + Tomcat 高可用负载均衡架构
环境: 1.centos7.3 2.虚拟ip:192.168.217.200 3.192.168.217.11.192.168.217.12上分别部署Nginx Keepalived Tomcat并进 ...
- LVS+keeplived+nginx+tomcat高可用、高性能jsp集群
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://kerry.blog.51cto.com/172631/557749 #!/bin ...
- lvs + keepalived + nginx + tomcat高可用负载反向代理服务器配置(一) 简介
一. 为什么这样构架 1. 系统高可用性 2. 系统可扩展性 3. 负载均衡能力 LVS+keepalived能很好的实现以上的要求,keepalived提供健康检查,故障转移,提高系统的可用性!采用 ...
- LVS+Keepalived+Nginx+Tomcat高可用负载均衡集群配置(DR模式,一个VIP,多个端口)
一.概述 LVS作用:实现负载均衡 Keepalived作用:监控集群系统中各个服务节点的状态,HA cluster. 配置LVS有两种方式: 1. 通过ipvsadm命令行方式配置 2. 通过Red ...
- 基于无域故障转移群集 配置高可用SQLServer 2016数据库
基于上次的文章搭建的环境,可以在这里:http://www.cnblogs.com/DragonStart/p/8275182.html看到上次的文章. 演示环境 1. 配置一览 Key Value ...
- Apache tomcat高可用web集群搭建过程配置记录
说明,本文仅作为个人搭建配置保存,问题处理没有一一列出,过程也未见详尽,有问题的朋友可以直接留言给我,会一一回复,谢谢. 小目标: 支持故障转移(或主备,扩展性不佳),保证故障转移后,对前端用户透明, ...
- Nginx+Keepalived+Tomcat高可用负载均衡,Zookeeper集群配置,Mysql(MariaDB)搭建,Redis安装,FTP配置
JDK 安装步骤 下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html rpm ...
- 基于Galera Cluster多主结构的Mysql高可用集群
Galera Cluster特点 1.多主架构:真正的多点读写的集群,在任何时候读写数据,都是最新的 2.同步复制:集群不同节点之间数据同步,没有延迟,在数据库挂掉之后,数据不会丢失 3.并发复制:从 ...
随机推荐
- Metasploit介绍
Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估, 提供真正的安全风险情报.这些功能包括智能开发,密码审计 ...
- 【网络流24题】No.7 试题库问题 (最大流,二分图多重匹配)
[题意] 假设一个试题库中有 n 道试题. 每道试题都标明了所属类别. 同一道题可能有多个类别属性.现要从题库中抽取 m 道题组成试卷.并要求试卷包含指定类型的试题. 试设计一个满足要求的组卷算法. ...
- 【网络流24题】 No.5 圆桌问题 (多重匹配)
[题意] 假设有来自 n 个不同单位的代表参加一次国 际会议.每个单位的代表数分别为r i ni , = 1,2, .会议餐厅共有 m 张餐桌,每张餐桌可容纳 ci (i = 1,2, , m) 个 ...
- 【UVA 1380】 A Scheduling Problem (树形DP)
A Scheduling Problem Description There is a set of jobs, say x1, x2,..., xn <tex2html_verbatim_ ...
- [转贴]C++、C#写的WebService相互调用
以下宏文(原文在 http://blog.sina.com.cn/s/blog_4e7d38260100ade4.html),是转贴并进行了修饰编辑: 首先感谢永和兄提供C++的WebService服 ...
- Tabhost嵌套以及Tab中多个Activity跳转的实现
做了一个demo,先看看效果图: 源码 如下: () DoubleTabHost package yy.android.tab; import android.app.TabActivity; imp ...
- windows 挂载windows 共享盘为本地磁盘
我们在设置数据库自动备份时,为了数据的安全往往需要直接将数据备份到远程服务器上.在Linux可以通过NFS挂载来实现,在Windows平台可以直接通过net use+subst来实现将远程服务器的目录 ...
- nginx+gunicorn
wsgi接口,使用gunicorn作为server,想在外层加nginx. 配置了 proxy_pass http://127.0.0.1:9008; 访问报301. 参考gunicorn 官网配 ...
- windows下 破解 Sublime Text3 和汉化
这货已经出到3了. windows下载,破解,使用方法: 一:破解 1: 去官网下载最新版本 http://www.sublimetext.com/3 2:下载破解器(SublimeTextKeyge ...
- Android --- px与dip换算
px = (density/160)dpdensity一般为3个常用固定值240/160/120分别对应WVGA/HVGA/QVGA不知道知己做的分辨率对应的density是多少可以点击AVD Man ...