设为首页 收藏本站
查看: 1262|回复: 0

[经验分享] websphere和weblogic的集群下Session持久化环境搭建

[复制链接]

尚未签到

发表于 2017-2-18 09:45:20 | 显示全部楼层 |阅读模式
最近熟悉websphere和weblogic的集群环境下Session持久化,记录一下备忘,没什么条理:
Webphere Network deployment V6.1

数据库方式session持久化测试环境搭建:

1.创建存储session的数据库SESSDB(数据库采用IBM的DB2_8.1);
2.创建数据库表SESSIONS;
3.针对上面配置的数据库创建JDBC数据源与提供程序;
4.Websphere Server的会话管理的分布式环境里分布式会话选择数据库方式,并配置数据库属性与步骤3中配置的数据源关联起来;
5.Websphere Server的Web容器中定制属性:SessionTableName/DB2ADMIN.SESSIONS,指定Web应用的session存储至步骤2中创建的SESSIONS表中;
过程中出现的问题:
在websphere上配置数据源遇到下列问题
1 问题一:测试数据源时,出现[ibm][db2][jcc][t4][10205][11234] Null userid is not supported.
从这个提示信息,再查看数据源配置,发现没有创建连接需要配置的用户名和密码的输入窗口,后来看到数据源有一个链接“J2C认证”,于是点进去,配置了一个名为Tw-PengYaoNode01/bbb的J2C认证数据,其中,用户名和密码,都是db2admin。保存后,测试数据源时,出现下列问题。

2 问题二:测试数据源时,出现socket异常
在节点 Tw-PengYaoNode01 上的服务器 server1 上,对数据源 ddddd 执行的测试连接操作由于以下异常 java.sql.SQLException: [jcc][t4][2030][11211][3.50.152] 在对连接的底层
socket、socket input stream 或 socket output stream 执行操作期间发生通信错误。错误位置:Reply.fill()。消息:Connection reset。 ERRORCODE=-4499, SQLSTATE=08001DSRA0010E:
SQL 状态:08001,错误码:-4,499。 而失败。
分析:
在windows的服务中,把db2指定为只能用db2admin用户登录。这样,当192.168.11.111是用Administrator登录时,该服务就不能用db2admin访问,导致这个问题。修改后,设置为本地系统账

都可以使用这个服务。重启服务。但测试数据源时,出现下列问题。

3 问题三:出现访问6789异常,数据源配置的url类似于:jdbc:db2://192.168.11.111:6789/sample,这种配置,适用于JDBC Type 3 驱动程序。客户端的驱动程序由db2java.zip中提供,其实现类的包名为:
COM.ibm.db2.jdbc.net.DB2Driver。
JDBC Type 3 驱动程序是一种纯 Java 实现,它必须与 DB2 JDBC Applet 服务器(DB2 JDBC Applet Server)通信才能访问 DB2 数据,而 DB2 JDBC Applet Server指定的端口为6789,正式
由于它的启动,DB2 的net驱动服务才可以使用。
而我们在Websphere 中,创建的数据源,使用JDBC Type 4 驱动程序,Type 4驱动程序是仅用于Java的JDBC 驱动程序,它直接连接到数据库服务器。DB2 UDB(Universal Database) for
Linux, UNIX 和 Windows V8.1 引入了称为“通用 JDBC 驱动程序(Universal JDBC driver)”的 Type 4 驱动程序,在文件db2jcc.jar中提供,其实现类的包名为
com.ibm.db2.jcc.DB2Driver,并且要求CLASSPATH中有许可证JAR文件:对于 DB2 UDB V8 for Linux, UNIX 和 Windows 服务器:db2jcc_license_su.jar,对于 DB2 UDB for iSeries? and
z/OS 服务器(与 DB2 Connect 和 DB2 Enterprise Server Edition 一起提供):db2jcc_license_cisuz.jar
Type 4 URL 模式类似于“jdbc:db2://192.168.11.111:50000/sample”。因为当需要JDBC驱动程序将Java应用程序直接连接到DB2服务器上名为“sample”的数据库,该数据库位于配置在DB2
服务器(主机名为192.168.11.111)上的 DB2 实例中,而DB2服务器是在端口50000 上进行侦听。具体如何知道是在50000上侦听,可以通过下面的方法查看。
(1)先执行:
db2cmd
db2 get dbm cfg
可以看到
TCP/IP Service name (SVCENAME)=DB2
(2)从这个DB2,再查看操作系统的services文件(以windows为例,services文件位于windows/system32/drivers/etc目录下),可以看到:
db2c_DB2  50000/tcp ,这里Service name为“DB2”的这个服务在端口50000 上进行侦听。
因此,这个问题是端口配置错误了,将6789,改为50000,保存后,再测试数据源连接,测试成功。
关于使用DB2 Universal Database的db2java.zip与db2jcc.jar的详细对比,请参考
http://www.ibm.com/developerworks/data/library/techarticle/dm-0512kokkat/

4 问题四:应用访问数据源出现 cann't query data from physical database: com.ibm.db2.jcc.b.eo: "DB2ADMIN.ACCOUNT0" ????????. SQLCODE=-204, SQLSTATE=42704, DRIVER=3.53.95
分析:这里有几个问题
(1)第一个问题:是应用没有配置使用数据源配置的JAAS - J2C 认证数据(即前面配置的Tw- PengYaoNode01/bbb ),这个问题需要在部署应用时,选择”修改资源认证方法“,这个步骤比较隐晦,刚开始按向导往下走,根本没有找到。所以忽略了这个步骤

(2)第二个问题:上面配置好了,但还是访问出问题,查看数据库,发现建的表是属于Administrator,估计是这个原因,导致用 DB2ADMIN访问不到。所以,又重新删除了表,然后重新注销192.168.11.111,用DB2ADMIN登录192.168.11.111,然后再创建表,表就属于DB2ADMIN了。后来想了一下,是否也可以不用上面的方法,而是修改JAAS - J2C 认证数据Tw- PengYaoNode01/bbb中的用户名和密码,将用户名改为Administrator,将密码改为tongweb。这样应该也行。后来没有时间再试验。

另外,查询数据源时,如果lookup的是res-ref-name(例如:"java:comp/env/jdbc/db1" ),那么应该配置web.xml和ibm-web-bnd.xmi,在web.xml中设置resource-ref,在ibm-web-bnd.xmi
中设置res-ref于jndi-name的绑定。ibm-web-bnd.xmi,也可以不用自己写,在部署过程中,可以通过”目标资源 JNDI 名称“进行设置。

memory-to-memory方式session持久化

0.环境:1个apache负载均衡器 + 2个websphere network deployment 6.1应用服务器 + memory-to-memory方式session持久化
  环境搭建基本步骤:
  (1)配置一个Apahce负载均衡器
  (2)安装一个Deployment Manager节点DM
(3)安装两个应用服务器节点server1、server2
(4)启动server1和server2的NodeAgent,并将server1、server2注册至DM节点下
(5)在DM管理控制台创建一个集群MyCluster,将server1和server2添加至该集群
(6)创建一个复制域:MyClusterRepDomain
(7)配置server1和server2 分布式session持久化方式为memory-to-memory replication
(8)配置memory-to-memory replication的复制域为MyClusterRepDomain,复制模式为:Both client and server
(9)根据mytest.war需要,配置mysql数据库
(10)启动集群,通过管理服务器控制台将测试应用部署至整个集群下的所有Server

  用例:mytest.war、servlets-examples.war
遇到的问题及解决方法:
问题:在同一台机器上安装MD、server1、server2,server1、server2的http访问端口分别是9080、9081;部署应用后只能通过9080端口访问到?
分析:新搭建的环境,在虚拟主机中没有添加9081这个端口?
1.应用程序服务器 > server1 > 端口中,看一下WC_defaulthost 的端口是不是你访问的9081,如果不是,改一下,再重启server
2.如果是的话检查  环境 > 虚拟主机 >  default_host  >  主机别名中有没有9081这个端口,如果没有,新建一个9081端口,之后重启server再看;
3.还有就是你的应用包发布的时候,有一部指定虚拟主机,你是否指定的default_host 这个虚拟主机中。检查方法 :企业应用程序 > 应用包名 > 虚拟主机  是否选择的是 default_host
最后是default_host主机别名中没有9081这个端口,添加后一切正常了。
***************************************************************************************************************************
WebLogic 10gR3
0.环境:1个weblogic10gR3负载均衡器 + 2个weblogic10gR3 + replication方式session持久化
  环境搭建基本步骤:
  (1)通过ConfigurationWizard向导,创建一个新的Domain;
(2)配置管理服务器
(3)配置受管服务器
(4)配置集群
(5)将受管服务器添加至集群中
(6)创建Weblogic自带的HTTP代理应用程序
(7)编辑启动WebLogic的服务文件
(8)远程主机上配置受管服务器
(9)在应用中weblogic.xml文件中添加下面session持久化类型配置:
<session-descriptor>
    <persistent-store-type>replicated</persistent-store-type>
     <sharing-enabled>true</sharing-enabled>
</session-descriptor>
(10)启动集群,通过管理服务器控制台将应用部署至整个集群下的所有Server

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-343722-1-1.html 上篇帖子: weblogic挂起时的gc分析图 下篇帖子: 在weblogic集群服务上新增受管服务器的相关问题(weblogic10.3版本)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表