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.
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.
- 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 serverdb01-dcA.example.com
when requested by eitherwa01-dcA.example.com
orwa02-dcA.example.com
, and must resolve todb01-dcB.example.com
when requested by either of the web application nodeswa01-dcB.example.com
orwa02-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
andwa02-dcA.example.com
, both in data center A, and web application nodeswa01-dcB.example.com
andwa02-dcB.example.com
in data center B, all pointing to the virtual IP address172.16.100.3
in/usr/local/jive/applications/[name of your application]/home/jive_startup.xml
, the IP address must resolve to the database serverdb01-dcA.example.com
when requested by eitherwa01-dcA.example.com
orwa02-dcA.example.com
, and must resolve todb01-dcB.example.com
when requested by either of the web application nodeswa01-dcB.example.com
orwa02-dcB.example.com
.