ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:166.03KB ,
资源ID:23425140      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23425140.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51CTO下载EOS5+JBoss负载均衡方案.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

51CTO下载EOS5+JBoss负载均衡方案.docx

1、51CTO下载EOS5+JBoss负载均衡方案PRIMETON TECHNOLOGIES, LTD.上海普元信息技术有限责任公司EOS5+JBoss负载均衡技术解决方案No part of this document may be reproduced, stored in any electronic retrieval system, or transmitted in any form or by any means, mechanical, photocopying, recording, otherwise, without the written permission of the

2、 copyright owner.COPYRIGHT 2006 by Primeton Technologies, Ltd. ALL RIGHTS RESERVED.文档修订记录序号版本号修订日期修订概述修订人审批人备注10.12009-02-23创建林锋目 录1 文档摘要 41.1 文档分类 41.2 关键字/Tag 41.3 摘要 41.4 作者、协作者及评审人员 41.5 定义、首字母缩写词及缩略语 42 概述 52.1 问题或场景 52.2 目的 52.3 参考资料 52.4 工具和技术 52.5 系统运行环境 53 解决方案 63.1 概述 63.2 部署步骤 63.2.1 安装部署

3、第一个JBoss实例 63.2.2 安装部署第二个JBoss实例 73.2.3 安装部署Apache2.2 73.2.3.1 安装 83.2.3.2 配置 83.2.4 配置EOS工作流缓存同步 93.3 启动并验证 124 注意事项 134.1 JBoss实例停止后用户需要重新登录 134.2 发布EOS构件包 135 常见问题 135.1 启动EOS5.3.5 Server时报错 135.2 64位UNIX下安装Apache碰到的一些问题 146 附录 156.1 一台机器运行两个EOS for JBoss实例需要修改的端口 156.2 在unix下编译安装Apache 176.3 关闭A

4、pache的access.log日志 181 文档摘要1.1 文档分类部署上线 技术方案1.2 关键字/TagEOSJBoss负载均衡1.3 摘要介绍如何搭建EOS+JBoss+Apache负载均衡(非集群)环境。1.4 作者、协作者及评审人员作者: 林锋1.5 定义、首字母缩写词及缩略语负载均衡: 当服务请求发送到集群时,能根据一定的规则选择由集群中的某一台服务器来处理该请示。2 概述2.1 问题或场景一般的J2EE集群方案需要实现Web负载均衡、HTTPSession复制、EJB集群等等,但某些场景下只需要用到Web负载均衡,而且JBoss集群配置比较麻烦,HTTPSession复制又会影

5、响性能,这时可以不需要配置集群,只需要两个JBoss单机实例做负载均衡即可。2.2 目的通过本文可以了解如何搭建EOS+JBoss+Apache负载均衡(非集群)环境。2.3 参考资料2.4 工具和技术2.5 系统运行环境EOS5.3JBoss3.2.5(EOS安装包自带)3 解决方案3.1 概述本方案前端使用Apache的Session Sticky方式转发请求到后端的两个JBoss单机实例,实现WEB应用负载均衡,两个JBoss实例之间是互相单独存在的。Session Sticky的原理是JBoss实例(实际上是Tomcat)响应浏览器请求的时候,在Session ID后面附上了一个自己实

6、例的标识。浏览器后续再发送请求的时候,会把Session ID连同这个标识一起送过来。Apache从Session ID里面拿到这个标识后,就知道应该将请求转发给哪个JBoss实例。也就是说,在Session Sticky时,浏览器发送第一次请求到某JBoss实例,Apache会将后续所有的请求都转发给该JBoss实例。3.2 部署步骤 3.2.1 安装部署第一个JBoss实例1、安装EOS按Primeton EOS 5.3产品安装指南中【安装EOS社区版】章节安装EOS for JBoss版本即可,本文中不做详细说明。2、配置jvmRoute打开jboss-3.2.5serverdefaul

7、tdeployjbossweb-tomcat50.sarserver.xml文件,找到如下配置: 增加如上蓝色标识的配置:“jvmRoute=server1”。该配置给实例指定了一个标识,JBoss会在Session ID后面加上该标识,Apache就可以根据该标识识别请求应该发给哪个JBoss实例。3.2.2 安装部署第二个JBoss实例1、先安装EOS for JBoss版本,可参看上一章节。2、配置jvmRoute打开jboss-3.2.5serverdefaultdeployjbossweb-tomcat50.sarserver.xml文件,找到如下配置: 增加如上蓝色标识的配置:“j

8、vmRoute=server2”。注意,第二个实例指定的标识是“server2”,不同于第一个实例指定的标识“server1”,因为只有标识唯一,Apache才能根据该标识来识别请求应该发给哪个JBoss实例。如果是在同一台机器上部署本方案,那么需要修改部分冲突端口才能使用,参看附录6.1章节。3.2.3 安装部署Apache2.2本方案中Apache不使用传统的JK方式与JBoss连接,而使用mod_proxy方式。Apache可以通过自带的 mod_proxy_balancer 模块使用代理技术来连接 JBoss(Tomcat),可以选择http_proxy、ajp_proxy两种连接方式

9、。mod_proxy_balancer是Apache2.1版本以后提供的,而Apache2.2.x 版本对该模块进行了重写,大大的增强了其功能和稳定性,所以建议使用Apache2.2.x以后的版本。另外http_proxy和ajp_proxy的连接方式比JK的连接方式配置更简单、方便。3.2.3.1 安装Apache的安装包可以从http:/www.apache.org下载。在Windows下安装很容易,在此不做更多描述。在UNIX下安装就麻烦多了,一般是使用Apache的源码编译安装。安装时需要注意,Apache默认是不会安装mod_proxy_balancer模块的,需要在编译时指定。可参

10、看附录6.2章节。3.2.3.2 配置打开Apache安装路径下的conf/httpd.conf主配置文件,修改配置。 加载mod_proxy_balancer模块mod_proxy_balancer模块默认是注释掉不使用的,所以首先需要取消注释。找到如下配置(如果没有就手工添加),删除前面的“#”符号:#LoadModule proxy_module modules/mod_proxy.so#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so#LoadModule proxy_balancer_module modules/mod_pro

11、xy_balancer.so#LoadModule proxy_connect_module modules/mod_proxy_connect.so#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so#LoadModule proxy_http_module modules/mod_proxy_http.so 配置负载均衡实例成员在配置文件最后增加如下配置:ProxyRequests OffProxyPass / balancer:/sticky-cluster/ stickysession=JSESSIONID BalancerMemb

12、er http:/192.168.0.20:8080 route=server1 BalancerMember http:/192.168.0.21:8080 route=server2以上配置配置了两个负载均衡实例,并指定了使用Sticky Session,使用的是http_proxy连接方式。注意BalancerMember中route指定的标识是JBoss实例中Server.xml配置的jvmRoute标识(参看3.3.1和3.3.2章节中的配置)。上面是http_proxy连接方式配置,再来看看ajp_proxy连接方式的配置:ProxyRequests OffProxyPass /

13、balancer:/sticky-cluster/ stickysession=JSESSIONID BalancerMember ajp:/192.168.0.20:8009 route=server1 BalancerMember ajp:/192.168.0.21:8009 route=server2对比http_proxy和ajp_proxy两种连接方式的配置,不同的是BalancerMember中指定的协议和端口。协议和端口要与Tomcat的Server.xml中的配置相对应: 如上所示,Server.xml中前面配置的是HTTP的端口,后面配置的是AJP的端口。在负载均衡方案中,h

14、ttp_proxy和ajp_proxy两种连接方式任意选择一种使用。3.2.4 配置EOS工作流缓存同步负载均衡方案中,各个JBoss实例虽然是独立存在的,但是由于EOS工作流使用了数据缓存,是需要配置缓存同步的。如果系统中没有使用到工作流,本章节的操作步骤可以忽略。因为EOS5.3的工作流缓存同步方案配置比较复杂,并且存在BUG,请将EOS升级到5.3.5版本后,按下面EOS5.3.5版本的工作流缓存同步配置方案配置。【步骤1】:打开工作流缓存同步开关:打开所有JBoss实例成员的eosserver/config/wfconfig.xml文件,找到如下配置: true默认配置是false,这

15、里需要修改为true。【步骤2】:重新启动JBoss实例因为集群配置还没有完成,所以工作流引擎不能启动成功,控制台会有如下工作流引擎启动失败提示,这是正常现象。【步骤3】:增加工作流JBoss实例将所有JBoss实例成员(含本机)添加到成员列表中。需要登录eos管理控制台来操作,如下面图例所示: 如上所示,添加了两个JBoss成员实例。其中配置的RMI是在eosserver/config/eosconfig.xml中配置的,如下所示: 30614【步骤4】:再次重启JBoss实例上一步骤的配置需要重启之后才能生效。重启之后,控制台上就不会再有出错信息了,并且可以看到工作流引擎启动成功的提示,如

16、下所示:再看EOS管理控制台中的成员管理配置,本机成员的状态是启动的了。注一:以上操作只在一个JBoss成员实例上操作即可,因为配置是保存在数据库WFSystemInfo表中,所有连接到数据库的JBoss成员实例都可以读取得到。注二:这里只是简单地介绍工作流的缓存同步配置,更多的配置说明请参看文档EOS5.3.5工作流集群配置说明。3.3 启动并验证1、 启动JBoss实例:执行安装路径下的run.bat(Windows)或者run.sh(UNIX)启动JBoss实例。2、 启动Apache:Windows下执行安装路径下bin/apache.exe启动。UNIX下,进入安装路径的bin目录,

17、执行命令“./apache -k start”启动。3、 通过Apache访问系统;4、 登录EOS管理控制台查看在线用户监控信息:5、 停止该JBoss实例,再继续操作,此时页面应该会报错,刷新页面将会返回到登录页面。报错是因JBoss实例已经不可用;返回登录页面是因为请求被转发到其它的JBoss实例,由于没有实现Session复制,其它的JBoss实例上并没有用户的Session信息,所以被EOS转到登录页面。4 注意事项4.1 JBoss实例停止后用户需要重新登录如果某个JBoss实例停止后,已经登录到这个JBoss实例的用户的请求将被转发其它的JBoss实例,由于没有实现Session

18、复制,其它的JBoss实例上并没有这些用户的Session信息,所以这些用户需要重新登录才能操作系统。4.2 发布EOS构件包由于EOS5版本不支持集群发布构件包,所以发布EOS构件包时,需要给每个JBoss成员实例都发布一次。5 常见问题5.1 启动EOS5.3.5 Server时报错场景:启动时报类似如下的错误:Workflow Engine failed!com.primeton.eos.wf.service.api.WFRuntimeException: com.primeton.eos.wf.service.api.WFRuntimeException: Localhost is n

19、ot a member in cluster .解决方案:首先确定已经按3.3.4章节完成了EOS工作流缓存同步配置;然后再检查操作系统的hosts中有没有在127.0.0.1的前面声明本机IP、机器名。5.2 64位UNIX下安装Apache碰到的一些问题1、编译时需要指定参数操作系统为64位,需要删除原先配置,加上参数“-enable-lib64 -libdir=/usr/lib64”来编译。32位则无需加。如下所示:#tar zxvf httpd-2.0.63.tar.gz#cd /home/software/httpd-2.0.63#rm -rf ./configure#rm -rf

20、./srclib/apr-util/configure#./buildconf#./configure -enable-lib64 -libdir=/usr/lib64 -enable-MODULE=shared -enable-so -with-mpm=worker -prefix=/usr/local/apache2.0.63#make#make install2、安装apache时报错:configure: error: Cannot use an external APR with the bundled APR-utilq需要安装apr和apr-util:下载地址:http:/apa

21、che.justdn.org/apr/安装apr例如:tar -zxvf apr-1.2.12.tar.gzcd apr-1.2.12./configure&make&make install安装apr-util例如:tar -zxvf apr-util-1.2.12.tar.gzcd apr-util-1.2.12./configure -with-apr=/usr/local/apr &make &make install先安装apr,安装apr-util时需要指定apr的路径。3、安装apr-util时报错:/usr/lib/libexpat.so: could not read sym

22、bols: File in wrong format办法一:是打开 Makefile 找到 -lexpat 这么一个参数,修改为: /usr/lib64/libexpat.la 即可。办法二:编译时增加编译参数 -with-expat=builtin 。可能在64位服务器下编译脚本在定位系统 expat 支持时有些问题。使用自带的expat来编译就不存在这个问题了。办法三:备份/usr/lib/目录下的libexpat*,然后拷贝/usr/lib64/目录下的libexpat*至/usr/lib/目录。6 附录6.1 一台机器运行两个EOS for JBoss实例需要修改的端口如果一台机器运行

23、两个EOS for JBoss实例时,因为都使用了相同的端口,当启动了一个实例后,再启动另外一个实例时,就会报端口已被占用的异常。【解决方案和步骤】通过修改JBoss和EOS的端口配置可以解决端口占用的问题。1、修改jboss-3.2.5serverdefaultconfjboss-service.xml中的1098,1099,4444,4445,8083端口。端口配置在配置文件中位置如下:.8083.1099.1098.4444.4445.2、jboss-3.2.5serverdefaultconfjboss-minimal.xml中的1099端口,注意要改成跟jboss-service.xml中的1099一样的。端口配置在配置文件中位置如下:.1099.3、jboss-3.2.5serverdefaultdeployjbossweb-tomcat50.sarserv

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1