IBM Websphere 集群会话共享问题解决办法
2014-10-29 15:52
239 查看
遇到一应用部署环境如下图:
![](http://images.cnitblog.com/blog/422439/201410/291519570816859.png)
两台HTTP SERVER(以下简称IHS)负责转发数据包,其中F5采用粘性模式,即一个用户在会话周期内的数据包一定会被转发到IHS中的一台,
但IHS 到Web Server之间的服务器选择确是随机分发的,导致请求会话无法保持,由于部署的为管理类系统,SESSION的保持是必须的。
WebSphere 有两种解决办法:
1. 全部WebSphere Server 会话广播,即某台机器会话更变时通知其他所有Server。
2. 在IHS 中修改配置,在IHS 和Server之间通信也采用粘性会话。
由于目前服务器的数量和用户量不适合采用 办法1,广播模式的成本较高,所有采用 办法2,具体修改如下:
1. 前提条件:
配置好IHS插件,使得Websphere 管理节点能管理两台IHS(生成插件->传播插件),并重启IHS。
1.1 IHS启动必须使用root,LINUX中80端口的占用只能有root进程进行,要使得Websphere 管理节点能管理该ROOT进程的IHS,NodeAgent也必须使用root启动.
1.2 在管理节点中 vi %WebSphere_Home%/profiles/Dmgr1/config/cells/plugin-cfg.xml
修改ServerCluster的属性 IgnoreAffinityRequests="false", 使得IHS请求分发时会绑定机器。
该原理的实现是依赖于生成名为JESSIIONID的COOKIE,值类似于 00002eIFFjM-ql2ZityHVfjJmO5:187rufomo
其中分号后面的数值就能代表具体是哪个Server(即哪个JVM进程),
1.3 分别进入两台IHS服务器, vi %IHS_HOME%/Plugins/config/server名称/plugin-cfg.xml
同样修改ServerCluster的属性 IgnoreAffinityRequests="false"
1.4 进入WebSphere管理控制台 ,点击 环境->更新全局Web服务器插件配置->确定。
1.5 重启 IHS 服务,重复刷新,认证是不是请求都被转发到一台服务器。
说明: 在 “生成插件”这步骤中,IgnoreAffinityRequests又会被重置为true, 需要再次更改。
1.6 如果想更改会话使用的COOKIE名称,在WebSphere管理控制台中,进入 企业应用程序->点击待更改COOKIE名称的应用->会话管理->启用COOKIE,
更改COOKIE名即可,根据需要更改COOKIE域和COOKIE路径, 再返回 “[b]会话管理” 勾选 “覆盖会话管理”。[/b]
![](http://images.cnitblog.com/blog/422439/201410/291519570816859.png)
两台HTTP SERVER(以下简称IHS)负责转发数据包,其中F5采用粘性模式,即一个用户在会话周期内的数据包一定会被转发到IHS中的一台,
但IHS 到Web Server之间的服务器选择确是随机分发的,导致请求会话无法保持,由于部署的为管理类系统,SESSION的保持是必须的。
WebSphere 有两种解决办法:
1. 全部WebSphere Server 会话广播,即某台机器会话更变时通知其他所有Server。
2. 在IHS 中修改配置,在IHS 和Server之间通信也采用粘性会话。
由于目前服务器的数量和用户量不适合采用 办法1,广播模式的成本较高,所有采用 办法2,具体修改如下:
1. 前提条件:
配置好IHS插件,使得Websphere 管理节点能管理两台IHS(生成插件->传播插件),并重启IHS。
1.1 IHS启动必须使用root,LINUX中80端口的占用只能有root进程进行,要使得Websphere 管理节点能管理该ROOT进程的IHS,NodeAgent也必须使用root启动.
1.2 在管理节点中 vi %WebSphere_Home%/profiles/Dmgr1/config/cells/plugin-cfg.xml
修改ServerCluster的属性 IgnoreAffinityRequests="false", 使得IHS请求分发时会绑定机器。
该原理的实现是依赖于生成名为JESSIIONID的COOKIE,值类似于 00002eIFFjM-ql2ZityHVfjJmO5:187rufomo
其中分号后面的数值就能代表具体是哪个Server(即哪个JVM进程),
1.3 分别进入两台IHS服务器, vi %IHS_HOME%/Plugins/config/server名称/plugin-cfg.xml
同样修改ServerCluster的属性 IgnoreAffinityRequests="false"
1.4 进入WebSphere管理控制台 ,点击 环境->更新全局Web服务器插件配置->确定。
1.5 重启 IHS 服务,重复刷新,认证是不是请求都被转发到一台服务器。
说明: 在 “生成插件”这步骤中,IgnoreAffinityRequests又会被重置为true, 需要再次更改。
1.6 如果想更改会话使用的COOKIE名称,在WebSphere管理控制台中,进入 企业应用程序->点击待更改COOKIE名称的应用->会话管理->启用COOKIE,
更改COOKIE名即可,根据需要更改COOKIE域和COOKIE路径, 再返回 “[b]会话管理” 勾选 “覆盖会话管理”。[/b]
相关文章推荐
- 打印机共享问题解决办法
- 访问Win XP 共享出现的问题解决办法
- 关于weblogic服务器集群后,部分数出现乱码问题,解决办法 如下
- Java笔记1 : 在生产者消费者模式中,线程通信与共享数据,死锁问题与解决办法
- Websphere6.1.x不打印Log4j日志问题解决办法
- IBM AIX Websphere jdk1.4 下 can't declare any more prefixes in this context 问题的解决过程
- linux下为php添加memcache扩展=>解决服务器集群session共享问题
- java零碎要点---大型软件部署方案,磁盘阵列,raid提升硬盘性能,解决由于集群带来的文件共享问题
- Websphere集群环境下因修改时间而导致的节点停止,节点同步失败问题解决
- win8开wifi共享无法使用的问题解决办法
- EPSON ME1+打印机的共享问题解决办法
- 98/2000/xp/2003局域网访问xp机器共享可能存在的问题和解决办法
- IBM websphere6.1 jsp不支持泛型解决办法
- 一个共享库的问题导致sqlplus用不了了的解决办法!
- Websphere6.1.x不打印Log4j日志问题解决办法
- 局域网不能访问共享常见问题解决办法大全
- VMware虚拟机ubuntu和主操作系统硬盘之间的文件共享的实现和What is the location of the directory of C header files that match your running问题的解决办法
- 访问XP共享出现的问题解决办法
- Websphere多个应用session相互覆盖问题解决办法
- Websphere6.1.x不打印Log4j日志问题解决办法