设置管理服务器故障转移

独立部署中的 Essbase 作为托管服务器运行,并且依赖于 WebLogic 管理服务器,以便在主节点出现故障时启动、停止并进入故障转移模式。

可以在多个主机上以故障转移模式设置 Essbase ,以防主主机不可用。此外,建议您设置 WebLogic 管理服务器以实现高可用性,以确保 Essbase 故障转移节点可以初始化。

本主题包含使用 Essbase 故障转移配置设置 AdminServer 高可用性的准则。有关 WebLogic AdminServer 高可用性的一般信息,请参阅 Administration Server High Availability

预配置 Essbase 受管服务器的高可用性

要为用于 EssbaseWebLogic 受管服务器启用高可用性,请完成以下配置。

  1. 登录到 WebLogic 服务器管理控制台。

  2. 在主页上的 Domain Structure(域结构)下,单击 Essbase 域名(例如 essbase_domain)。


    在 WebLogic 控制台中,essbase_domain 是域结构的根。

  3. 使用选项卡导航到 "Security"(安全性)> "Embedded LDAP"(嵌入式 LDAP)。


    WebLogic Console with Security > Embedded LDAP tabs 打开在 essbase_domain 中。

  4. 取消选择以下选项,然后单击“Save(保存)”。


    未选中 WebLogic Embedded LDAP 设置中的“Master First(主优先)”选项。

  5. SSH 到主机 1 并重新启动 Essbase (管理服务器和托管服务器),如停止、启动和检查服务器中所述。

    注意:

    仅在 EPM Shared Services 部署中,应在启动 Essbase 受管服务器之前启动 EPM WebLogic Server

    为了单独启动和停止每个服务器,请使用带有服务器名称的 -i 参数。

    Linux 示例(启动):

    <Domain Home>/esstools/bin/start.sh -i essbase_server1

    Windows 示例(开始):

    <Domain Home>\esstools\bin\start.cmd -i essbase_server1

设置管理服务器高可用性

先决条件

要使用 Essbase 故障转移环境设置 WebLogic 管理服务器高可用性,

  1. 在主节点(主机 1)上创建虚拟 IP 地址 (virtual IP address,VIP)。

    使用 Linux ip 命令。语法如下:

    ip addr add <VIP>/<NETMASK> dev <INTERFACE> label <LABEL_NAME>

    示例:

    ip addr add 100.xx.xx.1/20 dev ens3 label ens3:2
  2. 设置 Essbase 故障转移环境,如使用故障转移设置脚本设置 Essbase 故障转移环境中所述。

  3. 测试 Essbase 故障转移环境设置是否成功(请参阅启动并验证 Essbase 故障转移配置)。

  4. 登录到 WebLogic 服务器管理控制台。

  5. 在主页的 "Domain Configurations"(域配置)> "Environment"(环境)下,导航到 "Servers"(服务器),然后单击 "AdminServer"(管理服务器)。

  6. 在更改中心窗格中,单击锁定并编辑


    WebLogic 管理控制台的“Change Center(更改中心)”部分,重点为“Lock &amp; Edit(锁定并编辑)”按钮

  7. 将“Listen Address(监听地址)”更改为虚拟 IP (VIP) 地址。

  8. 单击保存

  9. 单击激活更改


    WebLogic 管理控制台的“Change Center(更改中心)”部分,重点为“Activate Changes(激活更改)”按钮

  10. 重新启动管理服务器。

  11. 再次登录到 WebLogic 服务器管理控制台。

  12. 在域结构下,导航到 "Environment"(环境)> "Machines"(计算机)。


    WebLogic 控制台域结构树。在 essbase_domain 下,展开了环境并选择了“Machines(计算机)”。

  13. 单击锁定并编辑,然后单击“新建”以添加名为 adminmachine 的新计算机。将计算机 OS 设置为 Unix,然后单击“Next(下一步)”。


    在 WebLogic 控制台中创建新计算机工作流的“计算机标识”部分

  14. 将节点管理器类型设置为 SSL,将“Listen Address(监听地址)”设置为虚拟 IP (VIP) 地址,并将端口设置为 9557。单击 "Finish"(完成)。


    在 WebLogic 控制台中创建新计算机工作流的“节点管理器属性”部分

  15. Summary of Machines(计算机概要)表中,单击新 adminmachine(管理计算机)的链接,然后单击 Configuration(配置)选项卡,然后单击 Servers(服务器)选项卡。

  16. 单击“添加”,选择管理服务器,然后单击“完成”。


    WebLogic 控制台中的“向计算机添加服务器”对话框

  17. 通过 SSH 连接到 Essbase 主节点(主机 1),导航到 <Domain_Home>/servers/AdminServer 并创建目录 nodemanager

  18. 导航到 nodemanager 目录并创建两个新文件:nodemanager.domainsnodemanager.properties

    nodemanager.domains 示例(替换值以匹配您自己安装的 Essbase 域名和路径):

    essbase_domain=/u01/oracle/user_projects/domains/essbase_domain

    nodemanager.properties 示例(替换值以匹配您自己安装的 Essbase 域名和路径):

    DomainsFile=/u01/oracle/user_projects/domains/essbase_domain/servers/AdminServer/nodemanager/nodemanager.domains
    LogLimit=0
    PropertiesVersion=12.2.1.1.0
    AuthenticationEnabled=true
    NodeManagerHome=/u01/oracle/user_projects/domains/essbase_domain/servers/AdminServer/nodemanager
    JavaHome=/u01/app/oracle/product/JAVA/jdk
    LogLevel=INFO
    DomainsFileEnabled=true
    ListenAddress=100.xx.xx.1
    NativeVersionEnabled=true
    ListenPort=9557
    LogToStderr=true
    weblogic.StartScriptName=startWebLogic.sh
    SecureListener=true
    LogCount=1
    QuitEnabled=false
    LogAppend=true
    weblogic.StopScriptEnabled=false
    StateCheckInterval=500
    CrashRecoveryEnabled=false
    weblogic.StartScriptEnabled=true
    LogFile=/u01/oracle/user_projects/domains/essbase_domain/servers/AdminServer/nodemanager/nodemanager.log
    LogFormatter=weblogic.nodemanager.server.LogFormatter
    ListenBacklog=50
  19. 导航到 <Domain_Home>/bin。示例:

    cd /u01/oracle/user_projects/domains/essbase_domain/bin
  20. 创建节点管理器启动脚本的副本,新名称为 startNodeManagerAdmin.sh。示例:

    cp startNodeManager.sh startNodeManagerAdmin.sh
  21. 打开 startNodeManagerAdmin.sh 进行编辑。将 NODEMGR_HOME 的值更改为 "<Domain_Home>/servers/AdminServer/nodemanager",然后保存文件。示例:

    NODEMGR_HOME="/u01/oracle/user_projects/domains/essbase_domain/nodemanager"
    
  22. 导航到 <Domain_Home>/esstools/bin。示例:

    cd /u01/oracle/user_projects/domains/essbase_domain/esstools/bin
  23. 停止 AdminServer。示例:

    ./stop.sh -i AdminServer
  24. 导航回 <Domain_Home>/bin,并在后台运行 startNodeManagerAdmin.sh。示例:

    cd /u01/oracle/user_projects/domains/essbase_domain/bin
    ./startNodeManagerAdmin.sh &
  25. 设置域环境。示例:

    source /u01/oracle/user_projects/domains/essbase_domain/bin/setDomainEnv.sh
  26. 运行位于 <ORACLE_HOME>/oracle_common/common/bin 中的 WebLogic 脚本编写工具。示例:

    /u01/oracle/user_projects/oracle_common/common/bin/wlst.sh
  27. wls:/offline> 提示符下,连接到节点管理器,然后启动 AdminServer。例如,使用以下命令(将 <variables> 替换为您的值):

    wls:/offline> nmConnect('<WebLogic_admin_user>','<WebLogic_admin_password>', '<Virtual-IP-address>','9557','<DOMAIN_NAME>','<DOMAIN_HOME>','ssl')
    wls:/nm/mydomain> nmStart('AdminServer')

    示例:

    wls:/offline> nmConnect('wladmin','wlpa55w0rD', '<100.xx.xx.1>','9557','essbase_domain','/u01/oracle/user_projects/domains/essbase_domain','ssl')
    wls:/nm/mydomain> nmStart('AdminServer')
  28. 保持 wlst 打开状态,检查是否可以使用虚拟 IP 地址访问 WebLogic 服务器管理控制台。例如,http://100.xx.xx.1:7001/console

  29. 停止 AdminServer。

    wls:/nm/mydomain> nmKill('AdminServer')
  30. 退出 WebLogic 脚本编写工具。示例:

    exit()
  31. 转到共享网络驱动器,然后创建一个与 Essbase <DOMAIN_NAME> 相同名称的新目录。示例:

    cd /nfs/essbase_data
    mkdir essbase_domain
  32. Essbase 域子目录 binconfig/servers/AdminServer 移至共享驱动器上的新目录。示例:

    mv /u01/oracle/user_projects/domains/essbase_domain/bin /nfs/essbase_data/essbase_domain/
    mv /u01/oracle/user_projects/domains/essbase_domain/config /nfs/essbase_data/essbase_domain/
    mv /u01/oracle/user_projects/domains/essbase_domain/servers/AdminServer /nfs/essbase_data/essbase_domain/
  33. 导航回 <Domain_Home> 并创建指向共享驱动器上 Essbase 域文件夹的符号链接。示例:

    cd /u01/oracle/user_projects/domains/essbase_domain/
    ln -s /nfs/essbase_data/essbase_domain/bin .
    ln -s /nfs/essbase_data/essbase_domain/config .
    cd servers/
    ln -s /nfs/essbase_data/essbase_domain/AdminServer .
  34. 通过 SSH 连接到 Essbase 辅助节点(主机 2),导航到 <Domain_Home> 并创建目录结构 /tmp/admin。示例:

    cd /u01/oracle/user_projects/domains/essbase_domain
    mkdir /tmp/admin
  35. 将域子目录 binconfig/servers/AdminServer 移动到 /tmp/admin 中。示例:

    mv bin /tmp/admin/
    mv config /tmp/admin/
    mv ./servers/AdminServer /tmp/admin/
  36. 创建指向共享驱动器上 Essbase 域文件夹的符号链接。示例:

    
    ln -s /nfs/essbase_data/essbase_domain/bin .
    ln -s /nfs/essbase_data/essbase_domain/config .
    cd servers/
    ln -s /nfs/essbase_data/essbase_domain/AdminServer .

验证 AdminServer 高可用性

要验证是否使用 Essbase 故障转移环境成功设置了 WebLogic AdminServer 高可用性,请测试是否可以使用虚拟 IP 地址从 Essbase 主节点和任何故障转移节点访问 WebLogic Server 管理控制台。

  1. 通过 SSH 到 Essbase 主节点(主机 1),导航到 <Domain_Home>/bin,然后在后台运行 startNodeManagerAdmin.sh。示例:

    cd /u01/oracle/user_projects/domains/essbase_domain/bin
    ./startNodeManagerAdmin.sh &
  2. 设置域环境。示例:

    source /u01/oracle/user_projects/domains/essbase_domain/bin/setDomainEnv.sh
  3. 运行位于 <ORACLE_HOME>/oracle_common/common/bin 中的 WebLogic 脚本编写工具。示例:

    /u01/oracle/user_projects/oracle_common/common/bin/wlst.sh
  4. wls:/offline> 提示符下,连接到节点管理器,然后启动 AdminServer。例如,使用以下命令(将 <variables> 替换为您的值):

    wls:/offline> nmConnect('<WebLogic_admin_user>','<WebLogic_admin_password>', '<Virtual-IP-address>','9557','<DOMAIN_NAME>','<DOMAIN_HOME>','ssl')
    wls:/nm/mydomain> nmStart('AdminServer')

    示例:

    wls:/offline> nmConnect('wladmin','wlpa55w0rD', '<100.xx.xx.1>','9557','essbase_domain','/u01/oracle/user_projects/domains/essbase_domain','ssl')
    wls:/nm/mydomain> nmStart('AdminServer')
  5. 检查是否可以使用虚拟 IP 地址访问 WebLogic 服务器管理控制台。例如,http://100.xx.xx.1:7001/console

  6. 停止 AdminServer。

    wls:/nm/mydomain> nmKill('AdminServer')
  7. 退出 WebLogic 脚本编写工具。示例:

    exit()
  8. SSH 到 Essbase 辅助节点(主机 2),导航到 <Domain_Home>/bin,然后在后台运行 startNodeManagerAdmin.sh。示例:

    cd /u01/oracle/user_projects/domains/essbase_domain2/bin
    ./startNodeManagerAdmin.sh &
  9. 设置域环境。示例:

    source /u01/oracle/user_projects/domains/essbase_domain2/bin/setDomainEnv.sh
  10. 运行位于 <ORACLE_HOME>/oracle_common/common/bin 中的 WebLogic 脚本编写工具。示例:

    /u01/oracle/user_projects/oracle_common/common/bin/wlst.sh
  11. wls:/offline> 提示符下,连接到节点管理器,然后启动 AdminServer。例如,使用以下命令(将 <variables> 替换为您的值):

    wls:/offline> nmConnect('<WebLogic_admin_user>','<WebLogic_admin_password>', '<Virtual-IP-address>','9557','<DOMAIN_NAME>','<DOMAIN_HOME>','ssl')
    wls:/nm/mydomain> nmStart('AdminServer')

    示例:

    wls:/offline> nmConnect('wladmin','wlpa55w0rD', '<100.xx.xx.1>','9557','essbase_domain','/u01/oracle/user_projects/domains/essbase_domain2','ssl')
    wls:/nm/mydomain> nmStart('AdminServer')
  12. 检查是否可以使用虚拟 IP 地址访问 WebLogic 服务器管理控制台。例如,http://100.xx.xx.1:7001/console