Keepalived实现tomcat双机热备(自测真实)

1、准备

Master:192.168.220.17(服务器1)

Backup:192.168.220.18(服务器2)

vip:192.168.220.55(不用管,在下面keepalived.conf配置即可)

tomcat官网:https://tomcat.apache.org/(下载自己对应的版本)

jdk官网:https://www.oracle.com/(下载自己对应的版本)

2、安装keepalive

yum install keepalived

安装完成,路径地址为   cd /etc/keepalived

如无法安装,https://www.keepalived.org/download.html官网自行下载安装

3、安装tomcat

此步骤忽略,自行安装

4、配置keepalived.conf

MASTER:

global_defs {

    notification_email {

        root@localhost

    }

    notification_email_from root@localhost

    smtp_server 127.0.0.1

    smtp_connect_timeout 30

    router_id LVS_DEVEL

# script_user root

# enable_script_security

    }


    vrrp_script chk_tomcat {

    script "/etc/keepalived/tomcat_check.sh"

    interval 3

    weight -5

    fall 3 

    rise 2

}


    vrrp_instance VI_1 {

        state MASTER

        interface ens32

mcast_src_ip 192.168.220.18

        virtual_router_id 51

        priority 100          #此处不同,要低于master

        advert_int 1

        authentication {

            auth_type PASS

            auth_pass 1111

        }

        track_interface { 

            ens32   

        }       

        track_script {

        chk_tomcat

        }

        virtual_ipaddress {

            192.168.220.55

        }

    }


BACKUP:

global_defs {

    notification_email {

        root@localhost

    }

    notification_email_from root@localhost

    smtp_server 127.0.0.1

    smtp_connect_timeout 30

    router_id LVS_DEVEL

# script_user root

# enable_script_security

    }


    vrrp_script chk_tomcat {

    script "/etc/keepalived/tomcat_check.sh"

    interval 3

    weight -5

    fall 3 

    rise 2

}


    vrrp_instance VI_1 {

        state BACKUP

        interface ens32

mcast_src_ip 192.168.220.17

        virtual_router_id 51

        priority 99

        advert_int 1

        authentication {

            auth_type PASS

            auth_pass 1111

        }

        track_interface { 

            ens32   

        }

        track_script {

        chk_tomcat

        }

        virtual_ipaddress {

            192.168.220.55

        }

    }


tomcat脚本:

#!/bin/bash

JAVA_PROCESS=`ps -C java --no-heading| wc -l`

#tomcat_home=/etc/keepalived/apache-tomcat-9.0.38-8082

#SHUTDOWN=$tomcat_home/bin/shutdown.sh

#STARTTOMCAT=$tomcat_home/bin/startup.sh

if [ $JAVA_PROCESS -eq 0 ];then

echo "tomcat is stop"

sleep 2

if [ `ps -C java --no-heading| wc -l` -eq 0 ];then

shutdown -r now

#/etc/init.d/keepalived stop

#. /etc/profile

#cd /etc/keepalived/apache-tomcat-9.0.38-8082/bin/

#service keepalived restart

#./startup.sh

#nohup ./startup.sh >/dev/null 2>&1&

#nohup /etc/keepalived/apache-tomcat-9.0.38-8082/bin/startup.sh >/dev/null 2>&1&

#echo "启动$tomcat_home"

#$STARTTOMCAT

fi

fi

设置开机自启tomcat级keepalived

cat /etc/rc.d/rc.local

vim /etc/rc.d/rc.local

nohup /etc/keepalived/apache-tomcat-9.0.38-8082/bin/startup.sh >/dev/null 2>&1&

service keepalived start

将以上两条数据加入到rc.local文件里

这样就大功告成了

具体实现功能为:

主服务器tomcat挂掉,从服务器顶上,且主服务器重新启动tomcat及keepalived。

有兴趣者可访问http://tylxjj.top/(此为个人网站,欢迎来访,并联系。)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容