使用keeplivkeped+haproxy搭建高可用tomcat集群

时间:2021-2-26 作者:admin

1.安装java(2台安装)

yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y

2.下载tomcat并启动(2台安装)

3.安装keeplivkeped (2台安装)

yum install keepalived -y
systemctl start keepalived
systemctl stop keepalived
ip addr| grep 192.168.203.16

4.编辑配置文件

主节点配置
vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
  
   router_id LVS_mas
}

vrrp_instance VI_1 {
    state MASTER
    interface ens32 
    virtual_router_id 51
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.203.16/24 dev ens32 label ens32:3

    }
}
从节点配置
! Configuration File for keepalived

global_defs {
  
   router_id LVS_bak
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens32 
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.203.16/24 dev ens32 label ens32:3

    }
}

5.双实例双主模式的配置文件对比

使用keeplivkeped+haproxy搭建高可用tomcat集群

6.安装haproxy(一台安装)

上传haproxy1.8.5.tar.gz
yum install zlib-devel  gcc-c++

make TARGET=linux2628 ARCH=x86_64 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy
cd /usr/local/haproxy
mkdir conf

vi   haproxy.cnf
global
    daemon        # 后台方式运行
    nbproc 1
    pidfile /usr/local/haproxy/conf/haproxy.pid
defaults
    mode tcp       #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
    retries 2       #两次连接失败就认为是服务器不可用,也可以通过后面设置
    option redispatch   #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器
    option abortonclose  #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
    maxconn 4096      #默认的最大连接数
    timeout connect 5000ms #连接超时
    timeout client 30000ms #客户端超时
    timeout server 30000ms #服务器超时
    #timeout check 2000   #=心跳检测超时
    log 127.0.0.1 local0 err #[err warning info debug]
########test1配置#################
listen test1             #这里是配置负载均衡,test1是名字,可以任意
    bind 0.0.0.0:33060      #这里是监听的IP地址和端口,端口号可以在0-65535之间,要避免端口冲突
    mode tcp           #连接的协议,这里是tcp协议
    #maxconn 4086
    #log 127.0.0.1 local0 debug
backend tomcat #解决session不一致问题
    balance     roundrobin
    cookie  TOMCAT insert nocache           #在后端主机的响应报文中插入cookie
    server      tomcat1 192.168.87.70:8080 check    cookie tomcat1
    server      tomcat2 192.168.87.769:8080 check    cookie tomcat2#负载的机器,负载的机器可以有多个,往下排列即可
#配置监控页面
listen admin_stats
        bind 0.0.0.0:8888
        mode http
        stats uri /test_haproxy
        stats auth admin:admin
启动
./sbin/haproxy  -f /usr/local/haproxy/conf/haproxy.cnf
停止
ps -ef | grep haproxy
kill -9 pid

7.访问192.168.203.16:33060 打开两个浏览器,从节点tomcat修改下首页的标记,即可看到效果

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。