• 欢迎访问奇跡の海网站,本站不上传任何资源,所有资源均来自于网络,欢迎加入奇跡の海~!奇跡の海-WordPress QQ群
  • 本站下载资源为网络上收集整理而来,并且以计算机技术研究交流为目的,版权归原作者所有,仅供大家参考,学习,不存在任何商业目的与商业用途.
  • 本站系统镜像均来自于官方原版,ed2k可视为P2P下载链接。所有操作系统默认均为试用版,如有正版密钥可以有效激活,本站不提供任何激活和相关服务。

Apache负载均衡请求至tomcat及DeltaManager的使用

服务器 奇跡の海 2年前 (2017-01-31) 382次浏览 已收录 0个评论 扫描二维码

本篇博客的前端机,tomcat1与tomcat2的ip配置与上一篇博客完全一样。

现在重新配置两台tomcat的配置文件

采用mod_proxy实现负载均衡:

配置tomcat1:

在/usr/local/tomcat/conf/server.xml中配置

在配置集群时必须要加jvmRoute主要时为了区分

http://www.hxk.com” jvmRoute=”tomcat1″>

加入一个host

  尖括号Host name=”www.hxk.com” appBase=”/web” unpackWARs=”true” >
     尖括号Context path=””  docBase=”webapps” reloadable=”true” />

   尖括号/Host>

创建文件:mkdir -pv /web/webapps,并且在这个文件下提供主页index.jsp(主页代码与上一篇博客一样)

重启一下tomcat

配置tomcat2:

加入jvmRoute

尖括号Engine name=”Catalina” defaultHost=”www.hxk.com” jvmRoute=”tomcat2″>

加入一个host

  尖括号Host name=”www.hxk.com” appBase=”/web” unpackWARs=”true” >
     尖括号Context path=””  docBase=”webapps” reloadable=”true” />

  尖括号/Host>

创建文件:mkdir -pv /web/webapps,同样提供一个主页index.jsp(主页代码与上一篇博客一样,为了测试效果将代价中的tomcat1改为tomcat2)

重启一下tomcat

前端主机配置:

在这里采用虚拟主机配置

——————————————————————————————————————-

先是采用ajp连接,把以下代码复制进去

ProxyRequests Off
尖括号proxy balancer://lbcluster1>
BalancerMember ajp://192.168.109.30:8009 loadfactor=10 route=Tomcat1
BalancerMember ajp://192.168.109.40:8009 loadfactor=10 route=Tomcat2

(ProxySet  lbmethod=算法,我这里没定)
尖括号/proxy>

尖括号VirtualHost *:80>
ServerAdmin admin@hxk.com
ServerName http://www.hxk.com
ProxyPass / balancer://lbcluster1/ stickysession=jsessionid
ProxyPassReverse /balancer://lbcluster1/

尖括号Proxy *>
Require all granted
尖括号/Proxy>
尖括号Location  / >
Require all granted
尖括号/Location>

尖括号/VirtualHost

——————————————————————————————————————-

——————————————————————————————————————-

采用http连接:

ProxyRequests Off
尖括号Proxy balancer://hotcluster>
BalancerMember  http://192.168.109.30:8080 loadfactor=1
BalancerMember  http://192.168.109.40:8080 loadfactor=2
ProxySet  lbmethod=bytraffic
尖括号/Proxy>

尖括号VirtualHost *:80>
ServerAdmin admin@hxk.com
ServerName http://www.hxk.com
ProxyPass / balancer://hotcluster1/ stickysession=jsessionid
ProxyPassReverse /balancer://hotcluster1/

尖括号Proxy *>
Require all granted
尖括号/Proxy>
尖括号Location  / >
Require all granted
尖括号/Location>

尖括号/VirtualHost>                                                                                                                                                  

——————————————————————————————————————-

两种方法均经过测试。

如果想要状态信息输出:可修改虚拟主机的配置文件如下:

ProxyRequests Off
尖括号proxy balancer://lbcluster1>
BalancerMember ajp://192.168.10.8:8009 loadfactor=1
BalancerMember ajp://192.168.10.9:8009 loadfactor=1
ProxySet lbmethod=bytraffic
尖括号/proxy>
尖括号VirtualHost *:80>
ServerName localhost
ProxyVia On
ProxyPass / balancer://lbcluster1/  stickysession=JSESSIONID|jsessionid nofailover=On
ProxyPassReverse / balancer://lbcluster1/
尖括号Location /balancer-manager>
   SetHandler balancer-manager
   Proxypass !
   Require all granted
尖括号/Location>
尖括号Proxy *>
   Require all granted
尖括号/Proxy>
尖括号Location  / >
   Require all granted
尖括号/Location>
尖括号/VirtualHost>

浏览器访问192.168.0.126/balancer-manager
Apache负载均衡请求至tomcat及DeltaManager的使用

配置基于mod_jk的负载均衡

在tomcat1与tomcat2的配置方法与上面一样。

现在配置前端机:

这里还是采用虚拟主机的方式

在虚拟主机的配置文件里写入:

loadModule  jk_module  modules/mod_jk.so
JkWorkersFile  /etc/httpd/extra/workers.properties
JkLogFile  logs/mod_jk.log
JkLogLevel  debug
JkMount  /*  lbcluster1
JkMount  /jkstatus/  stat1
在/etc/httpd/extra/workers.properties写入:

worker.list = lbcluster1,stat1
worker.Tomcat1.type = ajp13
worker.Tomcat1.host = 192.168.109.30
worker.Tomcat1.port = 8009
worker.Tomcat2.lbfactor = 5
worker.Tomcat2.type = ajp13
worker.Tomcat2.host = 192.168.109.40
worker.Tomcat2.port = 8009
worker.Tomcat2.lbfactor = 5
worker.lbcluster1.type = lb
worker.lbcluster1.sticky_session = 1
worker.lbcluster1.balance_workers = Tomcat1, Tomcat2
worker.stat1.type = status

如果想要状态信息输出,浏览器访问192.168.0.126/jkstatus/

Apache负载均衡请求至tomcat及DeltaManager的使用

制作会话共享集群

在tomcat1与tomcat2的/web/webapps中配置其WEB-INF

所有启用集群功能的web应用程序,其web.xml中都须添加才能实现集群功能。如果某web应用程序没有自己的web.xml,也可以通过复制默认的web.xml至其WEB-INF目录中实现。

在两个结点进行同样操作

cd /web/webapps

mkdir WEB-INF

cp /usr/local/tomcat/conf/web.xml  WEB-INF/

然后vim WEB-INF/web.xml

web-app中加上  尖括号distributable/>

最后编辑tomcat1与tomcat2的service.xml配置文件,将以下代码分别加在engine下面,然后根据自己的ip修改即可

尖括号Cluster className=”org.apache.catalina.ha.tcp.SimpleTcpCluster” channelSendOptions=”8″>
     尖括号Manager className=”org.apache.catalina.ha.session.DeltaManager” expireSessionsOnShutdown=”false”     notifyListenersOnReplication=”true”/>
       尖括号Channel className=”org.apache.catalina.tribes.group.GroupChannel”>
        尖括号Membership className=”org.apache.catalina.tribes.membership.McastService”  address=”228.0.0.4″    port=”45564″  frequency=”500″   dropTime=”3000″/>           

尖括号Receiver className=”org.apache.catalina.tribes.transport.nio.NioReceiver” address=”192.168.109.30″    port=”4001″       selectorTimeout=”5000″       maxThreads=”6″/>              

尖括号Sender className=”org.apache.catalina.tribes.transport.ReplicationTransmitter”>
           尖括号Transport className=”org.apache.catalina.tribes.transport.nio.PooledParallelSender”/>
                尖括号/Sender>
       尖括号Interceptor className=”org.apache.catalina.tribes.group.interceptors.TcpFailureDetector”/>
      尖括号Interceptor className=”org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor”/>
          尖括号/Channel>
            尖括号Valve className=”org.apache.catalina.ha.tcp.ReplicationValve”  filter=””/>
             尖括号Valve className=”org.apache.catalina.ha.session.JvmRouteBinderValve”/>
         尖括号Deployer className=”org.apache.catalina.ha.deploy.FarmWarDeployer”  tempDir=”/tmp/war-temp/”   deployDir=”/tmp/war-deploy/”   watchDir=”/tmp/war-listen/”  watchEnabled=”false”/>            

尖括号ClusterListener className=”org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener”/>
   尖括号ClusterListener className=”org.apache.catalina.ha.session.ClusterSessionListener”/>
                   尖括号/Cluster>
实验:浏览器访问192.168.0.126,得到如下图

Apache负载均衡请求至tomcat及DeltaManager的使用

Apache负载均衡请求至tomcat及DeltaManager的使用
可看出session一样。


版权声明:本站所有文章和资源使用CC BY-NC-SA 4.0协议授权发布 , 转载应当以相同方式注明文章来自“SeaOMC.COM->Apache负载均衡请求至tomcat及DeltaManager的使用!在下边可以分享本文哦!
喜欢 (0)
[]
分享 (0)
奇跡の海
关于作者:
一个WordPress菜鸟!
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址