Fork me on GitHub

Windows下WebLogic安装及集群配置

基本概念

在正式部署项目之前,还是先了解下基本概念吧。最基本要掌握域(Domain)、集群(Cluster)、服务器(Server)(区分管理服务器和受管理服务器)、计算机(Machine)、节点管理器(Node Manager)。

参考文章

常用目录结构

了解WebLogic常用目录结构,将大大提高管理与维护的工作效率 。这里以WebLogic 11g为例。

.                                      # 主目录
│─ coherence_3.7                        # coherence集群相关
│─ logs                                 # 日志文件,包括安装和运行%WL_HOME%\common\bin\下程序的日志
│─ modules                             # 模块和插件目录
│─ user_projects                         # 用户工程目录
  └─ domains                            # 域主目录
      └─ base_domain                     # DOMAIN_HOME,用户自建域主目录,默认名称为base_domain,以此为例
         │─ bin                          # 启动和停止域服务、设置域环境变量的相关命令文件
           └─ nodemanager               # 可以设置成当前域节点管理器配置目录,默认不使用
         │─ config                       # 配置文件
         │─ security                     # 用户口令验证相关文件
         └─ servers                      # 服务器相关文件
            └─ AdminServer               # 管理服务器,以此为例
               │─ logs                   # 日志文件
               │─ security
                 └─ boot.properties     # 当前域登录信息文件,保存用户名和密码后可以免验证登录
               │─ stage                  # 存放当前域所部署项目部署包文件
               └─ tmp                    # 当前域所部署项目相关临时文件
└─ wlserver_10.3                          # WL_HOMEWebLogic应用主目录
   │─ common                              # 
     │─ bin                              # WebLogic应用程序可执行命令目录
     └─ nodemanager                      # 默认的节点管理器配置目录
   │─ server
     └─ bin                              # WebLogic服务器可执行命令目录
        └─ startNodeManager.cmd          # 默认的启动节点管理器服务
   └─ uninstall                           # 卸载相关命令文件目录

注:本文档所有%WL_HOME%,均指上面的wlserver_10.3目录;%DOMAIN_HOME%指自建域的主目录,例如上面的base_domain目录,对应域的环境变量可以查看%DOMAIN_HOME%\bin\setDomainEnv.cmd

集群的安装及配置

安装WebLogic之前,先要安装Java环境。本人电脑上安装了几套Java环境,WebLogic用到的有两个JRockit 6 - R28.2.7Java7u80,JRockit是原BEA公司的产品,现已被Oracle收购,是传说中最快的JVM,理论上来说使用JRockit性能会有明显的提升。不过JRockit最高只有1.6版本的,而目前WebLogic12c最低支持Java8,所以要想使用JRockit要安装WebLogic11g以下的版本。而我们通常所说的Java环境指的都是Sun公司JDK(也被Oracle收购了^_^)即Oracle Java(为什么要说这些,因为手动配置Java环境的时候需要知道Sun和BEA区别)。

教程1Windows下Weblogic 11G集群安装与配置

教程2Weblogic12c (12.2.1.3)集群环境搭建 两台物理机

安装WebLogic

教程1很详细了,如果已经安装了Java环境,可以跳过第2步,直接到3.1 安装Weblogic软件

创建WebLogic域及集群

创建域使用QuickStart即可,配置集群有两种方法:

  • 创建域时配置集群

    如果要配置集群且使用代理,请按教程1-3.3 创建Weblogic域及集群步骤来(因为我找不到从控制台添加代理的方法);如果要配置集群但不使用代理,可以按3.3步骤在创建域时配置好集群,也可以只创建域然后到控制台配置集群。

  • 控制台配置集群

    参考教程2-4.4. 配置集群服务器,主要就是新增服务器(注意同一计算机上的服务器监听端口不能相同)、计算机(不同计算机节点管理器端口可以相同)、集群,这三个没有顺序要求,计算机中添加服务器,集群中添加服务器。

    默认计算机节点管理器类型为SSL,如果修改成其他,通过节点管理器启动服务器的配置要相应修改,见下文。

受管理服务器域的配置

如果受管理服务器和管理服务器都在同一台计算机上,不需要此步骤。这里配置的是另一台计算机上的受管理服务器。也有两种方法:

  • 使用QuickStart

    参考教程1第4步,注意域名应和管理服务器上的一致,只需配置受管理服务器即可,因为当前域只有一台计算机,所以可以不用配置计算机。

  • 使用镜像方法

    参考教程2-4.5. 复制域到另一台物理机,管理服务器配置好后,打包域然后解压到受管理服务器上。如果部署了项目之后再打包会连项目一起打包,建议打包之后再部署项目。参考命令如下,注意是在两台计算机%WL_HOME%\common\bin\目录下运行命令提示符,分别输入:

    pack -managed=true -domain=d:\weblogic\user_projects\domains\base_domain -template=d:\base_domain.jar -template_name="base_domain"
    unpack -domain=d:\weblogic\user_projects\domains\base_domain -template=d:\base_domain.jar
    

注意多台计算机WebLogic版本应一致,JDK根据部署的项目可以不一致。简单的集群使用第一种方法更便捷,复杂的集群推荐使用第二种方法。

启动管理服务器和受管理服务器

首先启动管理服务器,参考教程1-5.1 启动节点1的管理服务器教程2-4.7.1。为了不在每次启动时输入用户名和密码,可以在%DOMAIN_HOME%\servers\AdminServer\security\下新建boot.properties文件,内容为:

username=域登录名
password=对应密码

启动受管理服务器也有两种方法:

  • 直接启动

    参考教程1-5.2、5.3和5.4,参考命令如下,注意是在两台计算机%DOMAIN_HOME%\bin\目录下运行命令提示符,地址都用管理服务器的地址

    startManagedWebLogic.cmd Server-1 http://192.168.1.103:7001
    

    第一次启动时会提示输入用户名或密码,之后会在%DOMAIN_HOME%\servers\Server-1\security\下生成登录信息文件boot.properties,如果没有的话自己建一个。

    注意如果要通过节点管理器启动一定要配置boot.properties

  • 通过节点管理器启动

    默认节点管理器通过%WL_HOME%\server\bin\目录下startNodeManager.cmd启动,为全局管理器,默认配置文件目录为%WL_HOME%\common\nodemanager\,记为目录A。为了给不同域配置不同的节点管理器属性,具体配置如下(两台受管理服务器都要配置):

    • 复制startNodeManager.cmd%DOMAIN_HOME%目录下,修改NODEMGR_HOME%DOMAIN_HOME%\bin\nodemanager\(这里%DOMAIN_HOME%要替换成实际的地址),记为目录B。以管理员权限运行startNodeManager.cmd,首次运行会在目录B下生成相应的配置文件,观察控制台会报缺少nodemanager.domains文件,关闭startNodeManager.cmd

    • 复制目录Anodemanager.domains目录B,打开修改,只留当前域的那一行即可,或者直接自己新建一个,注意Windows下目录:\要记得转义。示例如下:

      base_domain=D\:\\weblogic\\user_projects\\domains\\base_domain
      
    • 修改目录Bnodemanager.properties文件,配置StartScriptEnabled=false,如果不修改,通过节点管理器启动不会加载你的登录信息文件,会报错。

    • 如果新建计算机时配置的节点管理器类型为SSL,确保SecureListener=true;如果节点管理器类型为普通,要修改SecureListener=false,否则从控制台启动服务器会报找不到节点管理器的错误。

    • 监听地址ListenAddress可以置空。

    配置好后重新启动节点管理器,在控制台【环境】->【计算机】,选择相应计算机【监视】->【节点管理器状态】,状态为【可访问】,此时可以通过【服务器】->【控制】通过节点管理器启动相应服务器。如果节点管理器状态为【非活动】,检查上面步骤,排查问题。

总结直接启动受管理服务器是没有办法通过控制台重启服务器的(可以关闭),所以建议通过节点管理器启动。整体流程就是:启动管理服务器--启动受管理服务器的节点管理器-通过控制台启动受管理服务器。

节点管理器随Windows启动

参考教程2-5,修改%WL_HOME%\server\bin\目录下installNodeMgrSvc.cmd的相应配置,执行即可。取消执行uninstallNodeMgrSvc.cmd

部署项目注意事项

部署项目参考教程1-6. 部署应用进行测试,具体的应用各不相同,配置也不尽相同。可能遇到各种各样的问题,需要注意的是:

  • 和开发沟通好,确保编译和部署的JDK环境一致或尽量一致;以及其他一些部署时需要单独配置的东西。修改JAVA_HOME等环境变量在%DOMAIN_HOME%\bin\setDomainEnv.cmd,修改完后重启WebLogic即可。

    应用部署weblogic 报错Unsupported major.minor version 51.0的解决过程

  • 遇到报错多查看日志,帮助文档,百度谷歌,同事前辈亲朋好友。。。头发掉光都解决不了就算了。

Comments