这篇文章主要介绍“CentOS7.4上怎么通过keepalive实现Tomcat高可用”,在日常操作中,相信很多人在CentOS7.4上怎么通过keepalive实现Tomcat高可用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CentOS7.4上怎么通过keepalive实现Tomcat高可用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1. 项目背景介绍
作为企业内部IT服务部门,为用户提供稳定,高效,安全的服务是我们的一贯宗旨。IT运维管理尤其重要,其对用户最直接的效用在于提升IT系统的服务能力,服务中断时间减少了,可用性提高了,那么用户基于IT系统的业务流才会更加顺畅。为此,选择适当的IT运维管理软件可以保持服务的高度可用性。
2. 架构介绍
本章主要简述针对当前部门系统应用服务的特点,提供行之有效的架构。
架构图:
说明:
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 并按照表格所示初始化:
说明:1. xSeries 3650 M4服务器性能和稳定性符合项目的基本需求
2. IMM (Integrated Management Module) 提供远程管理
3. 主板集成的第一块网卡Eth0用于配置系统IP地址
4. 主板集成的第二块网卡Eth2用于和NFS连接,配置内网地址即可
系统及软件环境规划:
系统,软件和网络的详细信息如表格所示:
搭建:
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服务
9. 验证节点Node A的虚拟网络服务地址
说明:默认情况下,虚拟网络服务地址192.168.1.210和主节点系统IP地址192.168.1.198绑定在相同的网卡接口表示其运行正常。
10. 验证节点Node B的网络地址
说明:副节点Node B 没有看到虚拟网络服务地址且经过主节点的虚拟网络服务地址验证,表示keepalive服务在双机热备环境中已经运行正常。
11. 验证Tomcat web portal是否正常运行
说明:拥有双机热备架构保障的Tomcat服务运行正常
12. 验证当主节点Node A 的keepalive服务关闭或者宕机下,副节点Node B能否接管并保障Tomcat应用不受影响。
A. 查看副节点Node B的网络地址
说明:虚拟网络服务地址192.168.1.210和副节点系统IP地址192.168.1.199绑定在相同的网卡接口,表明副节点Node B已经成功接管主节点Node A的职责。
B. 验证Tomcat web portal是否仍然正常运行
说明:当主节点Node A出现故障后,副节点通过keepalive服务保障了业务 的正常运转。
到此,关于“CentOS7.4上怎么通过keepalive实现Tomcat高可用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/229784.html