java任务调度 双机热备
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java任务调度 双机热备相关的知识,希望对你有一定的参考价值。
现有一个java项目,里面使用java任务调度机制写了一个3分钟执行一次的任务,
现要做双机热备,双机热备必须要两台服务器的tomcat都启动,
这样的话,两台服务器容器启动后这个3分钟的任务都会执行。
有没有什么方法控制只在主台机上运行,如果热备调整到备用机时,备用机的3分钟的任务才开始执行。
能说一下ha添加启动项吗,
我在网上没找这样的方法,以前都是两台服务器的tomcat都需要启动。
我3年前做过一次,现在印象不是很深,他每一次启动都有一个顺序的,好像叫前置任务吧,具体位置你需要自己试试,然后里面有一个是cmd启动还有一个是service启动,我当时做的是service启动,就是将tomcat放到服务中去,然后在ha中添加进去就可以了,要注意的就是放在哪个位置,而且我记得我当时并不是两个项目,是一个项目,就是把项目放入一个共享磁盘中,两个tomcat的路径去指向这个共享磁盘,因为分开会牵扯到日志还有用户上传图片这些功能的。这里就牵扯到了先挂载再启动的问题,也就是我刚才说的那个前置任务的问题
本回答被提问者采纳Keepalived双机热备
前言:keeplived是专门针对LVS设计的一款辅助工具,主要功能是实现故障切换
1、LVS+Keepalived高可用群集
实验的目的是实现双机热备的同时实现负载均衡群集,
当主调度器发生故障的时候,从服务器会继续提供调度工作,保证用户的正常访问。两台从调度器,添加两块网卡,配置从调度器和主调度器方法一样,但是在配置keepalived的时候从服务器优先级要设置的比主的低,主服务器修改成为MASTER,从服务器是BACKUP,服务器名称改成不一样的就可以,其他的配置一样。
在这里两台调度器的eth0的内网卡修改为vm1,eth1做外网卡修改为vm8,所以就是说192.168.7.0网段都是vm1,172.16.16.0网段都是vm8,ip地址如上图所示。
实验:
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任务调度 双机热备的主要内容,如果未能解决你的问题,请参考以下文章