设置管理服务器故障转移

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

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

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

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

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

  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.domains 和 nodemanager.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 域子目录 bin、config 和 /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. 将域子目录 bin、config 和 /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。