Set Up Zephyr Data Center

About

Zephyr Data Center is a Zephyr Enterprise solution with horizontal scalability support for high availability, scalability, and performance. It involves deploying Zephyr Enterprise on multiple nodes along with an external database and a shared folder as shown below:

 

The deployment components include the following: 

  • Load Balancer - balances the load across the cluster nodes.

  • Elasticsearch – a search engine deployed on the server node as a micro service or as a separate process in the virtual private network.  

  • Shared database a shared database used by the nodes. Zephyr supports MySQL, MS SQL Server, and Oracle Database. 

  • Shared directory a shared folder where attachments are stored. In a cluster environment, this folder must be shared with write permissions. Network-attached storage (NAS) and similar devices are supported.

It is recommended to have this clustered deployment behind a firewall.

Requirements

Installation procedure

To install Zephyr Enterprise on cluster nodes, you need to perform the following:

1. Install a database

You can install one of the following database management systems on any computer where Zephyr is not installed:

You must have a connector JAR file for your MySQL, Microsoft SQL Server or Oracle database.

2. Install Elasticsearch

Install Elasticsearch 5.5.0 (a search engine) on a separate node where Zephyr is not installed and configure it for your cluster environment.

3. Install Zephyr Enterprise on your nodes

When installing Zephyr on your nodes, keep in mind the following:

  • Install Zephyr on any drive other than drive C: to avoid permission issues, as administrator permissions may be required to work with this drive.

  • Use the same Zephyr version and build on all the nodes.

  • Zephyr installed on all the nodes must have the same license.

Installation steps:

Install Zephyr Enterprise on nodes. The installation steps on the first node differ from the steps you perform on the other nodes.

1. To install Zephyr Enterprise on the first node:

Follow the installation steps for Windows described in the Installing Zephyr Server section.

Follow the installation steps for Linux described in the Install Zephyr section.

2. After you install Zephyr, stop the node.

3. Install Zephyr Enterprise on another node. The way you do this depends on your operating system:

Open Command Prompt as an Admin and run the following command:

zephyr_6.6_xxx_setup_iRev_xxx.exe  -VzSkipStartupData=true

Open the terminal and run the following command:

sh zephyr_6.6_xxx_setup_iRev_xxx.sh  -VzSkipStartupData=true

4. Once the installation is complete, stop the node.

You can use any number of nodes. If you want to add more nodes, repeat steps 3-4.

5. After you install Zephyr Enterprise on all the nodes, you need to modify the following files on each node:

In the file, find the following line:

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

and replace it with the following:

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"channelSendOptions="8"> <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> <Channel className="org.apache.catalina.tribes.group.GroupChannel"> <Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.22" port="45564" frequency="500" dropTime="3000"/> <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" port="4000" autoBind="100" selectorTimeout="5000" maxThreads="6"/> <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> </Sender> <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> </Channel> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/> <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/> <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster>

6. On all the nodes, open the folder zephyr/tomcat/webapps/flex/WEB-INF/template, copy the file cluster.properties.tmpl, paste it to the folder zephyr/tomcat/webapps/flex/WEB-INF/classes and change the file name to cluster.properties.

7. Make the following changes in the cluster.properties file:

  • Remove the following lines:

#unique identifier for the cluster node cluster.aws.enable=false HAZELCAST_PASSWORD=huser HAZELCAST_USERNAME=hpass
  • Update the following information:

8. Start the first node where you installed Zephyr by using the hostname or the IP address of the machine. Zephyr will start on it. After Zephyr is launched, the HAZELCAST_USERNAME and HAZELCAST_PASSWORD values will be generated in the zephyr/tomcat/webapps/flex/WEB-INF/classes/cluster.properties file.

9. Copy the HAZELCAST_USERNAME and HAZELCAST_PASSWORD values and paste them to the zephyr/tomcat/webapps/flex/WEB-INF/classes/cluster.properties file on the other nodes.

4. Set up a shared directory

Now you can use your nodes.

See Also

Upgrading Zephyr Enterprise

Support and Troubleshooting