主节点上的 Essbase 故障转移配置的手动步骤(主机 1)

提示:对于发行版 21.5.2 或更高版本,请跳过这些说明,然后改为使用 Set up an Essbase Failover Environment Using the Failover Setup Script 中的说明。

配置用于故障转移的主 Essbase 节点。您将运行 Fusion Middleware 配置向导、编辑脚本文件、添加 Essbase 配置属性、在 WebLogic 控制台中配置服务器、运行 TLS 工具实用程序、打包域配置并将其复制到第二个节点。

开始之前,请查看 Configure TLS for Essbase Failover ,以了解如何配置 TLS 属性文件。

主机 1 是主 Essbase 节点,并且具有所有未成簇的服务(例如 AdminServer)。

  1. 通过 SSH 连接到主机 1 并停止 Essbase 实例:

    在 Linux 上:

    <Domain Home>/esstools/bin/stop.sh

    在 Windows 上:

    <Domain Home>\esstools\bin\stop.cmd
  2. 启动 Fusion Middleware 配置向导并在主机 1 上更新配置:

    在 Linux 上:

    <Oracle Home>/oracle_common/common/bin/config.sh

    在 Windows 上:

    <Oracle Home>\oracle_common\common\bin\config.cmd
    1. 创建域屏幕上,选择更新现有域。确保在 Domain Location 字段中指定了正确的域位置,然后单击 Next

    2. Templates 屏幕上,接受默认值,然后单击 Next

    3. Database Configuration Type(数据库配置类型)屏幕上,将选择项从 RCU Data(RCU 数据)更改为 Manual Configuration(手动配置),然后单击 Next(下一步)

    4. 组件数据源屏幕上,接受默认值,然后单击下一步

    5. JDBC 测试屏幕上,接受默认值,然后单击下一步

    6. Advanced Configuration 屏幕上,选择 Topology 并单击 Next

    7. Managed Servers(托管服务器)屏幕上,单击 Add(添加)并输入主机 2 的详细信息。

      • 输入 essbase_server2 的受管服务器端口。

      • 如果需要更新 SSL 监听端口,请选中 Enable SSL(启用 SSL)复选框。

      • 要更新 SSL 监听端口,请单击 Listen Port(监听端口)输入框。选择服务器组作为 ESSBASE-MAN-SVR ,然后单击 Next

    8. 接受默认值,然后单击以下屏幕上的下一步
      • 聚类
      • 服务器模板
      • 动态服务器
      • 向集群分配服务器
      • HTTP 代理应用程序
      • Coherence 集群
    9. Machines(计算机)屏幕上,单击 Add(添加)并添加一个新的计算机 m2 。输入主机 2 主机名和节点管理器端口值。可以选择节点管理器端口 9556。单击下一步

    10. Assign Servers to Machines 屏幕上,选择右侧面板中的 m2 。在左侧面板中选择新创建的服务器 essbase_server2 ,然后将其添加到 m2 。添加后, essbase_server2 将显示在 m2 下。单击下一步

    11. 接受默认值并单击以下屏幕上的“Next(下一步)”:

      • 虚拟目标
      • 分区
    12. Configuration Summary 屏幕上,单击 Update

    13. 更新完成后,单击 Next ,然后在最后一个屏幕中单击 Finish 以完成配置更改。

  3. 在主机 1 上,编辑文件 <Domain Home>/bin/setDomainEnv.sh(在 Linux 上)或 <Domain Home>\bin\setDomainEnv.cmd(在 Windows 上)。

    注意:

    Essbase 平台包含 <DOMAIN HOME>/bin 中的脚本,这些脚本可以定制 Essbase 功能的环境和行为。但是,如果对这些域环境或启动脚本进行更改,可能会有意外影响(包括启动失败)。Oracle 建议先在测试环境中进行更改。在编辑这些脚本之前,请始终:

    1. 使用 <DOMAIN HOME>/esstools/bin/stop.sh(在 Linux 上)或 <DOMAIN HOME>\esstools\bin\stop.cmd(在 Windows 上)停止 Essbase 托管服务器。

    2. <DOMAIN HOME>/bin 中,创建要编辑的文件的备份副本。例如:

      在 Linux 上

      cp setStartupEnv.sh setStartupEnv_bak.sh

      在 Windows 上

      copy setStartupEnv.cmd setStartupEnv_bak.cmd
    3. 仅按照 Oracle 的文档说明或与 Oracle 技术支持合作,小心地进行编辑。

    4. 使用 <DOMAIN HOME>/esstools/bin/start.sh(在 Linux 上)或 <DOMAIN HOME>\esstools\bin\start.cmd(在 Windows 上)重新启动 Essbase。检查启动是否正常完成。

    1. 搜索字符串 EXTRA_JAVA_PROPERTIES

      重要提示:搜索 EXTRA_JAVA_PROPERTIES,而不是 JAVA_PROPERTIES

    2. 在现有导出 EXTRA_JAVA_PROPERTIES 行之后添加以下 -D 定义:

      在 Linux 上:

      EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES}-Dweblogic.security.SSL.ignoreHostnameVerification=true" export EXTRA_JAVA_PROPERTIES

      在 Windows 上:

      set EXTRA_JAVA_PROPERTIES=-Dweblogic.security.SSL.ignoreHostnameVerification=true %EXTRA_JAVA_PROPERTIES%

      注意:

      如果正确导入了所有 TLS 证书,则不需要执行此步骤。如果是自签名证书,或者如果托管服务器后来无法以 SSL 错误启动,则需要执行此步骤。
  4. 编辑文件 <Domain Home>/config/fmwconfig/essconfig/essbase/essbase.cfg 并添加以下行:

    FAILOVERMODE 为 true

    # 可选

    AGENTLEASERENEWALTIME(代理续订时间) 10

    # 可选

    AGENTLEASEEXPIRATIONTIME(代理到期时间) 20

  5. 在主机 1 中启动 AdminServer。

    在 Linux 上:

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

    在 Windows 上:

    <Domain Home>\esstools\bin\start.cmd -i AdminServer
  6. 例如,通过使用来自其他主机的 ping 命令,找出主机 1 和主机 2 计算机的公共 IP。如果两台计算机都位于防火墙后面,请确保您知道主机 1 和主机 2 可以相互通信的 IP。

  7. 使用 WebLogic 控制台配置 AdminServer 和托管服务器:

    1. 使用 WebLogic 管理凭证登录到 WebLogic AdminServer 控制台。默认的 AdminServer 端口为 7001。

      示例:http(s)://host:7001/console

    2. 单击左侧面板中的锁定并编辑。导航到 < 域名 > -> 环境 -> 服务器 -> AdminServer 。在 Configuration(配置)选项卡上,单击 General(常规)并展开 Advanced(高级)部分。在 External Listen Address 属性中输入主机 1 的公共 IP 地址。

      重要提示:输入主机 1 的 IP,如主机 2 所示。

    3. 单击保存

    4. 直接在上面重复步骤 a、b 和 c,以使用主机 1 的公共 IP 更新 essbase_server1外部侦听地址

    5. 从默认 Coherence 集群成员资格中删除 essbase_cluster。

      1. 导航到 < 域名 > -> 环境 -> Coherence 集群

      2. 单击 defaultCoherenceCluster 。单击成员选项卡。取消选择 essbase_cluster

      3. 单击保存

    6. 导航到 <Domain Name> -> Security 选项卡 -> Embedded Ldap 选项卡。选择第一个主选项,然后单击保存

    7. 导航到 <Domain Name> -> Environment -> Servers 。单击新添加的服务器 essbase_server2

    8. Configuration(配置)选项卡上,导航到 General(常规)选项卡,展开 Advanced(高级)部分,然后在 External Listen Address(外部监听地址)字段中输入主机 2 的公共 IP 地址。确保通过从主机 1 对主机 2 执行 ping 命令来获取此公共 IP。单击保存

    9. Configuration(配置)选项卡上,导航到 General(常规)选项卡,从 Listen Address(监听地址)字段中删除值,然后单击 Save(保存)

    10. 导航到 <Domain Name> -> Environment -> Servers 。单击 essbase_server1 。在 Configuration(配置)选项卡上,导航到 General(常规)选项卡并从 Listen Address(监听地址)字段中删除值。单击保存

    11. 在左侧的面板中,单击 Activate Changes

    12. 使用 stop.sh(在 Linux 上)或 stop.cmd(在 Windows 上)关闭主机 1 中的 WebLogic

      在 Linux 上:

      <Domain Home>/esstools/bin/stop.sh

      在 Windows 上:

      <Domain Home>\esstools\bin\stop.cmd
  8. 运行 tlsTools.jar 以更新证书,如 Configure TLS for Essbase Failover 中所述。

  9. 在主机 1 中,通过运行以下命令打包完整的域配置,并将其导出为 jar 文件。这可能需要几分钟时间。

    在 Linux 上:

    <Oracle home>/oracle_common/common/bin/pack.sh -domain=<DOMAIN_HOME> -template=<user specified path>/essbase_ha.jar -template_name=essbase_domain -managed=true

    Linux 示例:

    ./Oracle/Middleware/Oracle_Home/oracle_common/common/bin/pack.sh -domain=./Oracle/Middleware/Oracle_Home/domains/essbase_domain -template=./essbase_ha.jar -template_name=essbase_domain -managed=true

    在 Windows 上:

    <Oracle home>\oracle_common\common\bin\pack.cmd -domain=<DOMAIN_HOME> -template=<user specified path>/essbase_ha.jar -template_name=essbase_domain -managed=true

    Windows 示例:

    c:\>\Oracle_Home\oracle_common\common\bin\pack.cmd -domain=C:\Oracle_Home\domains\essbase_domain -template=essbase_ha.jar -template_name=essbase_domain -managed=true
  10. 将生成的 jar <user specified path>/essbase_ha.jar 传输到辅助节点中的文件夹。
    • 在 Linux 上,使用网络副本或 ftp:
      cp /network path of Host 1/<Host 1 Essbase Installation>/essbase_ha.jar <Host 2>/<some dir>/essbase_ha.jar
    • 在 Windows 上,通过在两个节点之间共享文件夹,将 essbase_ha.jar 复制到第二个节点。