Apache+Tomcat+keepalived的负载均衡session复制及HA

简介:

1 Apache负载均衡

0、关闭防火墙service iptables stop; chkconfig --level 35 iptables off

   关闭selinux vi /etc/selinux/config   SELINUX=disabled

setenforce 0 生效

 

1、将mod_jk-1.2.31-httpd-2.2.x.so上传至/etc/httpd/modules目录下

 

 

2、

vi /etc/httpd/conf/httpd.conf

Include conf.d/*.conf

增加

Include /etc/httpd/conf/mod_jk.conf

 

配置

ServerName=192.168.1.X:80

 

3、

vi /etc/httpd/conf/mod_jk.conf

增加

 

LoadModule jk_module /etc/httpd/modules/mod_jk.so

 

JkWorkersFile /etc/httpd/conf/workers.properties

 

JkLogFile /etc/httpd/logs/mod_jk.log

 

JkLogLevel warn

 

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

 

JkMount /*.* controller 

 

4、

vi /etc/httpd/conf/workers.properties

增加

 

 

worker.list=controller

 

worker.tomcat1.port=8009

worker.tomcat1.host=192.168.1.152

worker.tomcat1.type=ajp13

worker.tomcat1.lbfactor=1 

worker.tomcat2.port=8009 

worker.tomcat2.host=192.168.1.155

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor=1 

 

worker.tomcat3.port=8009 

worker.tomcat3.host=192.168.1.156

worker.tomcat3.type=ajp13

worker.tomcat3.lbfactor=1 

 

worker.controller.type=lb 

worker.retries=3

worker.controller.balance_workers=tomcat1,tomcat2,tomcat3

 

worker.controller.sticky_session=false

2 Tomcat session复制

1、对于每一个server.xml

  <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">

 

2、在Engine标签内增加

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

 

 

3、在程序的web.xmlweb-app结束前增加 <distributable/>

 

4、session复制需用组播添加static route

vi /etc/sysconfig/network-scripts/route-eth0
增加

192.0.2.0/24 dev eth0 scope host
default via 192.0.2.1
192.168.2.0/24 via 192.168.13.1 dev eth0

service network restart

 

reboot 有效

 

3 HA高可用性keepalived配置

1、apache安装在105106

 

2、两台apache配置保持一致除了httpd.confSERVERNAME配置的ip地址

 

3、两台机器分别安装keepalived

yum -y install keepalived

 

4、配置keepalived105

vi /etc/keepalived/keepalived.conf

========================================================

! Configuration File for keepalived

 

global_defs {

   notification_email {

     acassen@firewall.loc

     failover@firewall.loc

     sysadmin@firewall.loc

   }

   notification_email_from admin@wisely.com

   smtp_server 192.168.1.0

   smtp_connect_timeout 30

   router_id LVS_DEVEL

}

 

vrrp_script chk_httpd {

    script "killall -0 httpd"

    interval 1

    weight -2

}

 

vrrp_instance httpd_1 {

    state MASTER

    interface eth0

    virtual_router_id 58

    priority 100           #priority 

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1058

    }

    virtual_ipaddress {

    192.168.1.101           #vip

    }

    track_script {

    chk_httpd

    }

}

=========================================================

service keepalived start  #启动keepalived服务

chkconfig keepalived on

 

5、配置keepalived106

vi /etc/keepalived/keepalived.conf

=========================================================

! Configuration File for keepalived

 

global_defs {

   notification_email {

     acassen@firewall.loc

     failover@firewall.loc

     sysadmin@firewall.loc

   }

   notification_email_from admin@wisely.com

   smtp_server 192.168.1.0

   smtp_connect_timeout 30

   router_id LVS_DEVEL

}

 

vrrp_script chk_httpd {

    script "killall -0 httpd"

    interval 1

    weight -2

}

 

vrrp_instance httpd_1 {

    state BACKUP

    interface eth0

    virtual_router_id 58

    priority 99            #priority 

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1058

    }

    virtual_ipaddress {

    192.168.1.101           #vip

    }

    track_script {

    chk_httpd

    }

}

========================================================

 

访问http://192.168.1.101

<!--EndFragment-->
相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
14天前
|
Java 应用服务中间件 Apache
从零手写实现 apache Tomcat-01-入门介绍
创建简易Tomcat涉及理解其作为Java服务器的角色,建立HTTP服务器,实现Servlet接口处理动态和静态内容,以及启动和关闭服务器。项目mini-cat是一个简化版Tomcat实现,支持Servlet、静态网页和基础功能。可通过maven添加依赖并运行测试类快速体验。开源项目位于[GitHub](https://github.com/houbb/minicat)。
|
3月前
|
Java 应用服务中间件 Apache
简介Nginx,Tomcat和 Apache
简介Nginx,Tomcat和 Apache
简介Nginx,Tomcat和 Apache
|
14天前
|
XML 安全 Java
从零手写实现 apache Tomcat-02-web.xml 入门详细介绍
`web.xml`是Java Web应用的核心配置文件,描述应用工作方式。它包含Servlet、Filter和Listener的定义。例如,示例展示了如何配置名为`my`的Servlet处理`/my`请求,`LoggingFilter`拦截所有请求,以及`MyServletContextAttrListener`监听应用事件。`web.xml`是服务器理解应用结构与行为的指南。迷你版Tomcat实现——mini-cat(开源:https://github.com/houbb/minicat)。
|
17天前
|
负载均衡 Ubuntu 应用服务中间件
Apache(mod_proxy)+Tomcat负载均衡配置
Apache(mod_proxy)+Tomcat负载均衡配置
|
2月前
|
存储 缓存 负载均衡
【Apache ShenYu源码】如何实现负载均衡模块设计
整个模块为ShenYu提供了什么功能。我们可以看下上文我们提到的工厂对象。/***/核心方法很清晰,我们传入Upsteam列表,通过这个模块的负载均衡算法,负载均衡地返回其中一个对象。这也就是这个模块提供的功能。
27 1
|
3月前
|
存储 Java 应用服务中间件
玩转Apache Tomcat
玩转Apache Tomcat
29 0
|
4月前
|
Oracle Java 关系型数据库
淇℃伅 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.鏈嶅姟鍣ㄧ増鏈�: Apache Tomcat/8.5.
淇℃伅 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.鏈嶅姟鍣ㄧ増鏈�: Apache Tomcat/8.5.
31 1
|
5月前
|
Java 应用服务中间件 Spring
Tomcat【部署 01】安装包版本说明+安装+参数配置+启动(JDK11+最新版apache-tomcat-10.0.12)
Tomcat【部署 01】安装包版本说明+安装+参数配置+启动(JDK11+最新版apache-tomcat-10.0.12)
66 0
|
5月前
|
Cloud Native 应用服务中间件 Apache
电子好书分享《Apache Tomcat 的云原生演进》
电子好书分享《Apache Tomcat 的云原生演进》
32 1
|
2月前
|
消息中间件 API Apache
官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会
本文整理自阿里云开源大数据平台徐榜江 (雪尽),关于阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会。
1624 2
官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会

推荐镜像

更多