成都创新互联网站制作重庆分公司

CentOS7.4上怎么通过keepalive实现Tomcat高可用-创新互联

这篇文章主要介绍“CentOS7.4上怎么通过keepalive实现Tomcat高可用”,在日常操作中,相信很多人在CentOS7.4上怎么通过keepalive实现Tomcat高可用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CentOS7.4上怎么通过keepalive实现Tomcat高可用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

为察哈尔右翼前等地区用户提供了全套网页设计制作服务,及察哈尔右翼前网站建设行业解决方案。主营业务为网站建设、成都做网站、察哈尔右翼前网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

1. 项目背景介绍

作为企业内部IT服务部门,为用户提供稳定,高效,安全的服务是我们的一贯宗旨。IT运维管理尤其重要,其对用户最直接的效用在于提升IT系统的服务能力,服务中断时间减少了,可用性提高了,那么用户基于IT系统的业务流才会更加顺畅。为此,选择适当的IT运维管理软件可以保持服务的高度可用性。

2. 架构介绍

本章主要简述针对当前部门系统应用服务的特点,提供行之有效的架构。

架构图:

CentOS7.4上怎么通过keepalive实现Tomcat高可用

说明:

1. 节点Node A作为双机热备环境中的主节点,节点Node B担任副节点的角色。当主节点出现故障时,副节点会自动接管主节点的角色保障应用的正常运行。

2. 节点NFS用于存储Tomcat的数据

3. 192.168.1.210是提供给应用服务的虚拟地址,用户访问应用服务通过此虚拟地址来实现,而不是访问节点Node A和Node B的系统地址。

3. Keepalive介绍

Keepalived主要功能是用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发生,从而实现高可用性和热备。它诞生之初的目的是能够自主调用ipvsadm来生成规则,并且能够自动实现将用户访问的地址转移到其他节点上进行实现的。Keepalived:核心包含一个core模块和两个checkers和VRRP协议。Core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。checkers:检查服务检查reserved的健康状况的,基于脚本也可检查服务本身的健康状况。这里是实现ipvs后端健康状况的检测的。VRRP (Virtual Router Redundancy Protocol,即虚拟路由冗余协议):是一种容错协议,它保证当主机的下一跳路由器出现故障时,由另一台路由器来代替出现故障的路由器进行工作,从而保持网络通信的连续性和可靠性。VRRP中每个节点之间都有优先级的一般为0-255(0,255有特殊用法)数字越大优先级越高。keepalived是以VRRP协议为实现基础的,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master节点和多个backup节点。Master节点上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当 backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。

4. 方案验证

本章将详述整套环境从硬件到软件的搭建过程,让读者更加直观深刻的了解Keepalive的配置及工作原理。

硬件环境规划:

选择三台联想xSeries 3650 M4 并按照表格所示初始化:

CentOS7.4上怎么通过keepalive实现Tomcat高可用

说明:1. xSeries 3650 M4服务器性能和稳定性符合项目的基本需求

2. IMM (Integrated Management Module) 提供远程管理

3. 主板集成的第一块网卡Eth0用于配置系统IP地址

4. 主板集成的第二块网卡Eth2用于和NFS连接,配置内网地址即可

系统及软件环境规划:

系统,软件和网络的详细信息如表格所示:

CentOS7.4上怎么通过keepalive实现Tomcat高可用

搭建:

1. 在Node A,Node B和NFS节点上均选择mini方式安装CentOS 7.4 64-bit,并按照规划配置IP地址。

2. 在节点Node A和Node B的/etc/hosts文件上添加同样的内容,如下:

192.168.1.198 NodeA.xx.xxx.com NodeA

10.10.10.11 NodeA.xx.xxx.com NodeA

192.168.1.199 NodeB.xx.xxx.com NodeB

10.10.10.12 NodeB.xx.xxx.com NodeB

3. 在节点Node A和Node B安装Tomcat 7和Keepalive 1.3.5

#yum install tomcat

#yum install keeplived

4. 将Tomcat 数据的存储路径配置在节点NFS上

5. 配置节点Node A上的keeplive

编辑keepalive配置文件 /etc/keepalived/keepalived.conf 作如下修改:

vrrp_instance VI_1 {
state MASTER #设置节点Node A为MASTER角色
interface enp11s0f0 #网卡 enp11s0f0 配置的是节点Node A 的系统IP地址
virtual_router_id 51 #两台系统保证这个数字相同
priority 100 #数字越大等级越高
advert_int 1
authentication {
auth_type PASS #vrrp协议,保证两台系统设置一致
auth_pass 1111
}
virtual_ipaddress {
192.168.1.210/24 #提供给Tomcat应用的虚拟服务地址
}

6. 配置节点Node B上的keeplive

编辑keepalive配置文件 /etc/keepalived/keepalived.conf 作如下修改:

vrrp_instance VI_1 {
state BACKUP #设置节点Node B为BACKUP角色
interface enp11s0f0 #网卡 enp11s0f0 配置的是节点Node B 的系统IP地址
virtual_router_id 51 #两台系统保证这个数字相同
priority 90 #数字比MASTER即可
advert_int 1
authentication {
auth_type PASS #vrrp协议,保证两台系统设置一致
auth_pass 1111
}
virtual_ipaddress {
192.168.1.210/24 #提供给Tomcat应用的虚拟服务地址
}

7. 启动keepalive

#systemctl start keepalived
#systemct enable keepalived #设置开机自启动

8. 验证keepalive服务

CentOS7.4上怎么通过keepalive实现Tomcat高可用

9. 验证节点Node A的虚拟网络服务地址

CentOS7.4上怎么通过keepalive实现Tomcat高可用

说明:默认情况下,虚拟网络服务地址192.168.1.210和主节点系统IP地址192.168.1.198绑定在相同的网卡接口表示其运行正常。

10. 验证节点Node B的网络地址

CentOS7.4上怎么通过keepalive实现Tomcat高可用

说明:副节点Node B 没有看到虚拟网络服务地址且经过主节点的虚拟网络服务地址验证,表示keepalive服务在双机热备环境中已经运行正常。

11. 验证Tomcat web portal是否正常运行

CentOS7.4上怎么通过keepalive实现Tomcat高可用

说明:拥有双机热备架构保障的Tomcat服务运行正常

12. 验证当主节点Node A 的keepalive服务关闭或者宕机下,副节点Node B能否接管并保障Tomcat应用不受影响。

A. 查看副节点Node B的网络地址

CentOS7.4上怎么通过keepalive实现Tomcat高可用

说明:虚拟网络服务地址192.168.1.210和副节点系统IP地址192.168.1.199绑定在相同的网卡接口,表明副节点Node B已经成功接管主节点Node A的职责。

B. 验证Tomcat web portal是否仍然正常运行

说明:当主节点Node A出现故障后,副节点通过keepalive服务保障了业务 的正常运转。

到此,关于“CentOS7.4上怎么通过keepalive实现Tomcat高可用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联-成都网站建设公司网站,小编会继续努力为大家带来更多实用的文章!


分享标题:CentOS7.4上怎么通过keepalive实现Tomcat高可用-创新互联
分享地址:http://cxhlcq.com/article/pjjec.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部