BlueXIII's Blog

热爱技术,持续学习

0%

WebLogic集群配置

通用操作

后台批杀进程

1
ps -ef|grep java|grep webapp|grep -v grep|awk '{print $2}'|xargs kill

简单环境变量

1
2
3
4
export LANG=C
export PS1='[\u@\H $PWD]\$'
stty erase ^H
stty erase ^?

注意:LANG=C在HP主机上可以解决乱码文件导致的server无法stage的启动问题,但Linux下似乎无效。

生产环境分布式部署

  1. 仅在管理Machine上建立Domain,有且只有一个AdminServer
  2. 被管Machine上不需要新建Domain,但需要启动NodeManager并nmEnroll()到AdminServer
  3. Deployment方式,因为有文件乱码,选择第3项 I will make the deployment accessible from the following location。但正式部署时建议选择第二项Copy this application onto every target for me!方便版本发布。

Linux主机需优化启动参数配置

  1. commEnv.sh
    1
    2
    3
    4
    vi /bea/weblogic/wlserver_10.3/common/bin/commEnv.sh  
    约180行,在export JAVA_VM MEM_ARGS JAVA_OPTIONS前新增两行
    MEM_ARGS="-Xms32m -Xmx200m -XX:MaxPermSize=128m"
    JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.security.egd=file:/dev/zero"
  2. startNodeManager.sh
    1
    2
    3
    4
    5
    vi /bea/weblogic/wlserver_10.3/server/bin/startNodeManager.sh  
    约80行,新增以下内容
    MEM_ARGS="-Xms512m -Xmx512m -XX:MaxPermSize=200m"
    JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.security.egd=file:/dev/zero"
    export MEM_ARGS JAVA_OPTIONS
  3. setDomainEnv.sh
    1
    2
    3
    4
    vi /ngbss/webapp/domains/BSSTST/bin/setDomainEnv.sh  
    约375行 进行修改
    JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.security.egd=file:/dev/zero"
    export JAVA_OPTIONS

    管理Machine上操作

    建立domain

    1
    /bea/weblogic/wlserver_10.3/common/bin/config.sh
    注意:将最新的boss.flds上传到domain下!

启动AdminServer

1
2
3
cat>start.sh
nohup ./startWebLogic.sh>start.log 2>&1 &
^C

修改AdminServer启动参数

1
2
3
-server -Xms1024m -Xmx1024m -XX:MaxPermSize=256m -Djava.awt.headless=true -Dcharset=GBK -Dfile.encoding=GBK -Djava.security.egd=file:/dev/zero
注意:AdminServer中,Configuration->SSL->Advanced->Hostname Verification:None,否则报错:
<Nov 8, 2011 11:56:28 PM CST> <Warning> <Security> <BEA-090504> <Certificate chain received from 132.77.138.144 - 132.77.138.144 failed hostname verification check. Certificate contained bssweb2 but check expected 132.77.138.144>

注意:Automatically Acquire Lock and Activate Changes勾掉

建立Machine

注意:端口与nodemanger.properties中的设置一致,一般为5556

建立cluster

IP一般设为224.0.0.1~239.255.255.255
多播端口测试:
cd /bea/weblogic/wlserver_10.3/server/lib

1
java -cp weblogic.jar  utils.MulticastTest -N server100 -A 224.0.0.110 -P 48001

建立server

注意:多网卡的主机上需绑定IP,否则远程启动server时启动参数中adminServer会与实际IP不一致

部署deploy

注意:最后一步一般选择第3项 I will make the deployment accessible from the following location,需分别上传代码至每台主机,但会避免因乱码文件引起的server无法启动问题。
第2项:Copy this application onto every target for me,可以只在Admin主机上放置代码,Sever启动时自动上传部署。但如果有乱码文件则无法正常启动。
注意:根据application中UploadPath,建立相应上传目录

JDBC配置

注意:勾选Test Connection On Reserve,断开后自动连接

配置控制台用户

通常为了weblogic console安全考虑,需要新建多个用户,区分不同的权限:
A.管理员:所有权限,主要是进行配置修改时使用
B.操作员:可以启停所有服务,主要是日常监控和更新程序使用
C.查看者:可以查看所有配合和服务情况,主要是日常监控和巡检使用
D.服务调用用户:只能发送T3消息,timerapp和ejb接口使用
建立3个用户:
administrator:Administrators password:administrator 所有权限
operator:Operators password:operator 可以启停不能修改
monitor:Monitors password:monitormonitor 只能查看,不能修改、启停

在被管Machine上操作

复制nodemanager启动脚本

1
2
3
4
5
cp /bea/weblogic/wlserver_10.3/server/bin/startNodeManager.sh ~
cd ~
mkdir nodemanager
vi startNodeManager.sh
NODEMGR_HOME="/ngbss/webapp/nodemanager"

生成nodemanager.domains

启动AdminServer后

1
2
3
4
/bea/weblogic/wlserver_10.3/common/bin/wlst.sh
connect('weblogic','password','t3://xxx.xxx.xxx.xxx:6010')
nmEnroll('/ngbss/bpsapp/domains/BpsDom','/ngbss/bpsapp/nodemanager')
exit()

其它

应用发布

  1. 版本发布不需要重启server,直接在Deployment界面update一下即可,或通过命令行方式java weblogic.Deployer操作,或通过WLST发布。
  2. 如果StageMode=stage,server启动时会报Failed to initialize the application ‘examples’ due to error weblogic.management.DeploymentException: Exception occured while downloading files,原因不明,此时需要再手工update一下。
  3. 脚本发布工具
    1
    2
    3
    4
    5
    6
    帮助:  
    java -cp /bea/weblogic/wlserver_10.3/server/lib/weblogic.jar weblogic.Deployer -help
    重新发布:
    java -cp /bea/weblogic/wlserver_10.3/server/lib/weblogic.jar weblogic.Deployer -adminurl t3://xxx.xxx.xxx.xxx:57001 -username weblogic -password password -name examples -targets testserver1 -redeploy
    重新发布部分页面:
    java -cp /bea/weblogic/wlserver_10.3/server/lib/weblogic.jar weblogic.Deployer -adminurl t3://xxx.xxx.xxx.xxx:57001 -username weblogic -password password -name examples -targets testserver1 -redeploy /ngbss/webapp/deployTST/examples/xxx.html
  4. WLST发布工具
    1
    2
    3
    /bea/weblogic/wlserver_10.3/common/bin/wlst.sh
    connect('weblogic','password','t3://xxx.xxx.xxx.xxx:57001')
    redeploy('exmples','/ngbss/webapp/deployTST/examples/',targets='testserver1',stageMode='stage');

    3DES加密

    1
    java  -cp /bea/weblogic/wlserver_10.3/server/lib/weblogic.jar weblogic.security.Encrypt test123456

    WLST启停

    1
    2
    3
    connect('weblogic','password','t3://xxx.xxx.xxx.xxx:6001')
    start('PROXY_CLUSTER', 'Cluster', block='false')
    start('proxy_t_13', 'Server', block='false')