Active-Passive Cluster Setup in Hyperion – 2 Quick Approaches

An active-passive Essbase cluster can contain two Essbase servers. To install additional Essbase servers, you must install an additional instance of Essbase. The application must be on a shared drive, and the cluster name must be unique within the deployment environment.

These types of shared drives are supported:

  • SAN storage device with a shared disk file system supported on the installation platform such as OCFS
  • NAS device over a supported network protocol.

Note: Any networked file system that can communicate with a NAS storage device is supported, but the cluster nodes must be able to access the same shared disk over that file system.

SAN or a fast NAS device is recommended because of shorter I/O latency and failover times. You can set up active-passive Essbase clusters with EPM System Configurator. You can specify the Essbase cluster information for each Essbase instance. Define the cluster when you configure the first instance of Essbase. When you configure the second instance, you associate the instance with the cluster.

Note: For a given physical Essbase server that Administration Services is administering, Administration Services displays only the name of the cluster to which that Essbase server belongs.

Use different instance names when configuring the Essbase nodes. For example, on the Active Node, use the instance name epminstance2, and on the Passive Node, use the instance name epminstance3. After the configuration is complete, modify the opmn.xml files on both the active and the passive nodes.

Setting Up Active-Passive Essbase Clusters

If you set up an active-passive Essbase cluster using EPM System Configurator, you must perform additional steps to set up Essbase failover on both cluster nodes. To complete the setup of the Essbase active-passive cluster:

  • Update EPM_ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml to specify the OPMN service failover network topology. In the <notification-server interface> section, add the <topology> section.
  • For example:
<notification-server interface="any">
<ipaddr remote="hostName" />
<port local="portNumber" remote="portNumber" />
<ssl enabled="true" wallet-file="\Oracle\Middleware\user_projectsepmsystem6\config\OPMN\opmn\wallet>
<topology>
<nodes list="nodeName1:nodeRemotePort1,nodeName2:nodeRemotePort2"/>
</topology>
</notification-server>
  • In the same section of the file, update hostName to match the nodeName for this machine. Oracle recommends using a fully qualified name.
  • In the same section of the file, enable or disable SSL communication as the communication mechanism between the OPMN servers in the failover nodes. By default, the SSL enabled parameter is True.

To enable SSL, you must also recreate the wallet file on both nodes of the cluster. The wallet file parameters must be the same on both machines.

To disable SSL communication, change the SSL enabled parameter to False. For example:

<notification-server interface="any">
<ipaddr remote="hostName" />
<port local="portNumber" remote="portNumber" />
<ssl enabled="false" wallet-file="\Oracle\Middleware\user_projects
\epmsystem1\config\OPMN\opmn\wallet"/>
<topology>
<nodes list="nodeName1:nodeRemotePort1, nodeName2:nodeRemotePort2"/>
</topology>
</notification-server>

where nodePort1 and nodePort2 are the remote ports of OPMN on each machine in the cluster.

  • Update opmn.xml to enable service failover for Essbase. In the <ias-component id=”Essbase”> section, add service-failover=”1″. For example:
<ias-component id="Essbase">
<process-type id="EssbaseAgent" module-id="ESS" service-failover="1" serviceweight="
100">
  • In the <ias-component id=”Essbase”> section of opmn.xml, for the first node, change service-weight=”100″ to service-weight=”101″ . For the second node, keep the value at 100.
  • Update opmn.xml to reflect the name of the cluster. In the <ias-component id=”Essbase”> section, change id=”Essbase” from “Essbase” to the name of the cluster. For example, change:
<ias-component id="Essbase">
to
<ias-component id="EssbaseClusterName">
  • In opmn.xml, remove “numprocs” from the process set definition and change the restart-ondeath value to “true”. For example edit the following section:
<process-set id="AGENT" numprocs="1" restart-on-death="false">
as follows:
<process-set id="AGENT" restart-on-death="true">

Note: The essbase.cfg setting FAILOVERMODE TRUE may need to be set manually.

Testing how Active-Passive works

1.) Started Only Server1(Active) server ESSBASE service, so we cannot access Server2(Passive) server as shown in the below screenshot.

Active-Passive

2.) Now we started Server2 server ESSBASE service. If Active (Server1) service is up, ESSBASE.exe service will not start in Passive server. Only opmn.exe process will be running from Passive server as shown below.

Once we stop or due to the network issue, if Essbase.exe process is killed from Server1(Active process) server, Essbase (Essbase.exe process) will automatically start from Passive Server (Server2).

From the below diagram, I am stopping Essbase on the Server1 server. Immediately ESSBASE.exe process started from Server2 Server (Passive Server).

Essbase Cubes location is the same from Server1 and Server2 Servers.

Read another article on How to encrypt Oracle Essbase MaxL Script in 3 Simple Steps.

Read Oracle Documentation on Active-Passive Cluster Configuration.