Configuring Web Application servers for high-availability

If you're setting up a web application node as a template, then copying the home directory (such as /usr/local/jive/applications/instance_name/home) to the other web application nodes in the cluster, you must remove the node.id file and the crypto directory from the home directory before starting the server. The application will correctly populate them.

Although not required, we highly recommend that you regularly (at least once a week, but preferably once a day) replicate the contents of /jiveHome from one of the web application nodes in the active production data center to all of the web nodes in the warm standby data center. For more information on what is important to persist in a disaster recovery situation, see Restoring Web Application server file system.

For more information on how to configure the core application databases, see Configuring Core Application database for high-availability.

CAUTION:
When making a copy of jiveHome on the production instance, the Jive application must NOT be running (if it is running, the Lucene index may get copied in a corrupt state and the resulting copied index will be invalid). The easiest way of working around this issue is to have a web application node that participates in the production cluster but does NOT serve HTTP requests. Shut down the Jive application on it on a nightly basis, make a copy of jiveHome, and then, after the copy is complete, restart the Jive application on that node.

The following items are stored in /jiveHome and they are particularly important to replicate. For more on what is important in /jiveHome, see Restoring Web Application server file system.

jive_startup.xml
This file contains all of the configuration information for the platform.
/search
This is the most important directory to synchronize. It contains the Lucene search index, which is what all of the people search is based on. Note that if you choose not to replicate this directory on a regular basis (weekly or daily), when or if a failover occurs from the production data center to the standby data center, every web application node in the new standby production data center will begin the process of updating its local search index, which is a CPU and an I/O-intensive process that could take hours, depending on how much content has been added since the last update.
/themes
This directory contains all of the theme information for your community.

Setting up connection string

The jive_startup.xml located on the web application nodes in /usr/local/jive/applications/[name of your application]/home/ stores the connection string of the core application databases. The connection string for all other nodes, including all other databases, is set via the Admin Console and stored in the core application databases.

The application requires you to add a DNS name or IP address for the database server. The database connection string can either be an IP address or a domain name but should be dynamic in case of a failure at the database layer.

Here's how to set it up:
  • If a DNS name is used to specify the location of the database servers (this is the preferred method), the names must resolve to a database server local to the data center.

    Using the web node names from the example above, but substituting a DNS name (db01.example.com) in the configuration instead of an IP address, the DNS name must resolve to the database server db01-dcA.example.com when requested by either wa01-dcA.example.com or wa02-dcA.example.com, and must resolve to db01-dcB.example.com when requested by either of the web application nodes wa01-dcB.example.com or wa02-dcB.example.com.

  • If an IP address is used to specify the location of the database servers, it must be a virtual IP address that resolves to a database server in the local data center.

    For example, given web application nodes wa01-dcA.example.com and wa02-dcA.example.com, both in data center A, and web application nodes wa01-dcB.example.com and wa02-dcB.example.com in data center B, all pointing to the virtual IP address 172.16.100.3 in /usr/local/jive/applications/[name of your application]/home/jive_startup.xml, the IP address must resolve to the database server db01-dcA.example.com when requested by either wa01-dcA.example.com or wa02-dcA.example.com, and must resolve to db01-dcB.example.com when requested by either of the web application nodes wa01-dcB.example.com or wa02-dcB.example.com.