开发者社区> 问答> 正文

apache +tomcat 集群碰到下面的问题,求助。

最近研究集群的架构,在本机做了个集群的例子。 将tomcat1和tomcat2 以及apache启动后, 我用IE访问
http://localhost/webservice/xx.jsp 正常, 发现访问的是tomcat1。 再次刷新或者重新访问,发现始终是tomcat1在处理。 同时用firefox访问上面的地址,发现访问的是tomcat2,刷新或再次访问也是tomcat2.
然后关掉tomcat1 ,再在ie 上点击刷新,发现报错了。
上面的现象表名:一个客户端一旦访问集群中的一台APP服务器,那么就永远绑定到这台app服务器了,一旦这台app服务器崩溃,此客户端的请求就不能被处理了。
这肯定不是负载均衡,谁能给我解释下为什么会这样啊?
httpd.conf 关键配置如下:

LoadModule jk_module modules/mod_jk.so
JKWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log 
<VirtualHost *> 
DocumentRoot f:/www
<Directory "f:/www/webservice"> 
    AllowOverride None 
    Order allow,deny 
          Allow from all 
</Directory> 
<Directory "f:/www/webservice/WEB-INF"> 
         Order deny,allow 
         Deny from all 
</Directory> 
 ServerAdmin localhost 
DocumentRoot f:/www/ 
ServerName localhost 
DirectoryIndex index.html index.htm index.jsp index.action 
ErrorLog logs/shsc-error_log.txt 
CustomLog logs/shsc-access_log.txt common 
JkMount /*WEB-INF controller 
JkMount /*j_spring_security_check controller 
JkMount /*.action controller 
JkMount /servlet/* controller
 JkMount /*.jsp controller
 JkMount /*.do controller 
JkMount /*.action controller 
JkMount /*fckeditor/editor/filemanager/connectors/*.* controller 
JkMount /fckeditor/editor/filemanager/connectors/* controller 
</VirtualHost>

workers.properties 配置

#集群tomcat配置 start
worker.list = controller   
#tomcat1
worker.tomcat1.port=8009         
worker.tomcat1.host=localhost 
worker.tomcat1.type=ajp13
 worker.tomcat1.lbfactor=1 
#tomcat2 
worker.tomcat2.port=9009       
worker.tomcat2.host=localhost 
worker.tomcat2.type=ajp13 
worker.tomcat2.lbfactor=1  
#========controller======== 
worker.controller.type=lb 
worker.controller.balance_workers=tomcat1,tomcat2 
worker.lbcontroller.sticky_session=0 
worker.controller.sticky_session_force=true 
worker.connection_pool_size=3000 
worker.connection_pool_minsize=50 
worker.connection_pool_timeout=50000
#集群tomcat配置 end

展开
收起
落地花开啦 2016-05-27 17:57:39 2659 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    看看tomcat的server.xml里是否
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
    配置成同名了

    2019-07-17 19:18:32
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Flink技术进阶 立即下载
Apache Spark: Cloud and On-Prem 立即下载
Hybrid Cloud and Apache Spark 立即下载

相关镜像