ODM Advanced – Decision Server Insights internally uses WebSphere Extreme Scale to create a compute grid. Data, against which events are processed, are held in the grid. The grid consists of a number of partitions, which are hosted by the servers of the DSI runtime cluster. Catalog servers are part of the DSI topology to track the placement of the partitions across the cluster.

This article discusses the configuration of catalog servers in a DSI topology. High Availability (the ability to lose a node and continue running) requires more than one catalog server. Normal redundancy requires two catalog servers. If you have a complicated network topology, three catalog servers running in majority quorum are recommended. Examples of a complicated network topology include:

  • the catalog servers use multiple network interfaces;
  • the catalog servers are on separate subnets from one another;
  • the catalog servers are on separate network hardware, and you want to be HA for network failures;

Properly configured for HA, each catalog server must run on different hardware (not hosted on the same nodes) than a runtime server or another catalog server.

Configuring Two Catalog Servers

Two catalog servers provide redundancy. One catalog server is master. If the master fails, the other catalog server will declare itself master. Unless you have a complicated network topology, two catalog servers are recommended for HA.

When you have one or two catalog servers, they should be configured to not require quorum for normal redundancy (No quorum is the default.):

Make sure that the following property is set in the server.xml properties for both catalog servers:
enableQuorum=false

Make sure that the following property is set in the jvm.options for both catalog servers:
-Dcom.ibm.websphere.objectgrid.server.catalog.majority.quorum=false

Configuring Three Catalog Servers

Three catalog servers provide availability across network failures, where catalog servers are separated, but still have contact with the runtime servers. If you have three or more catalog servers, you should have an odd number, but there is usually no reason to have more than three.

When you have three or five catalog servers, they should be configured for majority quorum. This prevents multiple catalog servers from declaring themselves master:

Make sure that the following property is set in the server.xml properties for each catalog server:
enableQuorum=true

Make sure that the following property is set in the jvm.options for each catalog server:
-Dcom.ibm.websphere.objectgrid.server.catalog.majority.quorum=true

To summarize, here are the recommendations for configuring catalog servers:

  • If you don’t have an HA topology, configure one catalog server without quorum. Locate it on any node in your topology.
  • If you have an HA topology, configure two catalog servers without quorum. Locate them on nodes that do not host a runtime server or another catalog server, typically on the same nodes with connectivity.
  • If you have a complicated network environment, configure three catalog servers with majority quorum. Locate them on nodes that do not host a runtime server or another catalog server, typically on the same nodes with connectivity.

Note that if only one catalog server is operating, it is possible for it to be restarted without needing to restart any other portions of the DSI topology. During the interval where no catalog servers are available, new events will not be able to be queued for the runtime. When the first catalog server is added back, the containers initialize it with their current state, and processing can continue.

1 comment on"Configuring Catalog Servers for DSI High Availability"

Join The Discussion

Your email address will not be published. Required fields are marked *