java任务调度 双机热备

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java任务调度 双机热备相关的知识,希望对你有一定的参考价值。

现有一个java项目,里面使用java任务调度机制写了一个3分钟执行一次的任务,
现要做双机热备,双机热备必须要两台服务器的tomcat都启动,
这样的话,两台服务器容器启动后这个3分钟的任务都会执行。
有没有什么方法控制只在主台机上运行,如果热备调整到备用机时,备用机的3分钟的任务才开始执行。

可以通过一个数据库的table去设定达到你想要的结果。每次执行更新这个table的执行时间和执行的服务器,如果监测到一个服务器三分钟都没有执行,就可以启动备用机。 参考技术A 我不知道你用的是什么双机热备,应该是rose ha吧,可以在ha中添加启动项,你把tomcat启动服务添加到那里面就可以了,也就是说当主机down掉后,启动备机的tomcat这样就不会存在你说的那个问题了,具体的你可以和ha的人问一下。追问

能说一下ha添加启动项吗,
我在网上没找这样的方法,以前都是两台服务器的tomcat都需要启动。

追答

我3年前做过一次,现在印象不是很深,他每一次启动都有一个顺序的,好像叫前置任务吧,具体位置你需要自己试试,然后里面有一个是cmd启动还有一个是service启动,我当时做的是service启动,就是将tomcat放到服务中去,然后在ha中添加进去就可以了,要注意的就是放在哪个位置,而且我记得我当时并不是两个项目,是一个项目,就是把项目放入一个共享磁盘中,两个tomcat的路径去指向这个共享磁盘,因为分开会牵扯到日志还有用户上传图片这些功能的。这里就牵扯到了先挂载再启动的问题,也就是我刚才说的那个前置任务的问题

本回答被提问者采纳

Keepalived双机热备

前言:keeplived是专门针对LVS设计的一款辅助工具,主要功能是实现故障切换


1、LVS+Keepalived高可用群集

技术分享图片

实验的目的是实现双机热备的同时实现负载均衡群集,

当主调度器发生故障的时候,从服务器会继续提供调度工作,保证用户的正常访问。两台从调度器,添加两块网卡,配置从调度器和主调度器方法一样,但是在配置keepalived的时候从服务器优先级要设置的比主的低,主服务器修改成为MASTER,从服务器是BACKUP,服务器名称改成不一样的就可以,其他的配置一样。


在这里两台调度器的eth0的内网卡修改为vm1eth1做外网卡修改为vm8,所以就是说192.168.7.0网段都是vm1,172.16.16.0网段都是vm8ip地址如上图所示。


实验:技术分享图片


1、配置nfs服务器192.168.7.250,此处不做示范;

技术分享图片


2、配置web节点A

web节点A的内网卡是192.168.7.177,外部网卡是172.16.16.177,再将NFS存储上的网站挂过来

技术分享图片



3、配置web节点B

web节点A的步骤完全一样,注意外网卡是172.16.16.178,内网卡是192.168.7.178。为了可以看到实验效果,web b在此不做挂载;


 

4、配置LVS主调度器在此不做示范



5、配置LVS从调度器 与主调度器的配置一样



6、

1、配置主调度器

1)安装支持软件

技术分享图片


2编译安装Keepalived

技术分享图片

技术分享图片


3)使用Keepalived服务

Chkconfig  --add keepalived

Chkconfig  keepalived  on


4)配置主调度器

Vi  /etc/keepalived/keepalived.conf

技术分享图片


技术分享图片


5)重启keepalived服务

技术分享图片


 

1)从调度服务器的配置

首先安装keepalived,和主服务器一样,在配置的时候主要有三个地方不一样:优先级99,调度器名称R2,热备状态为BACKUP

Vi /etc/keepalived/keepalived.conf

技术分享图片


技术分享图片

7)重新从服务器的Keepalived服务

技术分享图片


1)测试lvs+keepalived群集

在客户机上访问http://172.16.16.172,可以正常访问

技术分享图片

然后把主调度器的外网卡断掉,如果客户端依然可以访问网站,说明成功。


再从调度器上查看网卡配置,可以看到虚拟ip显示了,说明现在从服务器成为了主调度器。


技术分享图片

9)测试负载均衡

为了测试效果明显,把web节点A取消挂载NFS,默认页面为nginx欢迎页面。

在客户端上访问

技术分享图片

技术分享图片



每次访问的网页都不一样,说明负载均衡正常!

本次实验完毕!




以上是关于java任务调度 双机热备的主要内容,如果未能解决你的问题,请参考以下文章

Keepalived现实Web双机热备(高可用)

Keepalived现实Web双机热备(高可用)

keepalived双机热备实现故障时发送邮件通知

浅谈Keepalived双机热备

双机热备和负载均衡

搭建Keepalived实现双机热备