On Windows

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.

Prerequisites (apply to each node)

  • Make sure the computer meets the system requirements.

  • Ensure you have the license file (license.lic), as it will be required during the installation process. If you do not have it, please contact your Zephyr Account Manager or contact Zephyr Sales at sales@getzephyr.com.

  • Download the installation file of Zephyr Enterprise for Windows.

  • Download a JDBC driver and place it on each node where Zephyr will be installed.

  • Download and install Java JDK 8. After you install it, set the PATH and JAVA_HOME environment variables. To do that:

    • PATH variable:

      1. Navigate to Start > Control Panel > System.

      2. Click Advanced > Environment Variables.

      3. Add the path to the bin folder to the PATH variable in the System variables section. A typical path looks like the following: C:\Program Files\Java\JDK_1.8.0_<version>\bin

    • JAVA_HOME variable:

      1. Navigate to Start > Control Panel > System.

      2. Click Advanced > Environment Variables.

      3. Find the JAVA_HOME variable in the System variables section. If you cannot find it, add it to the System variables.

      4. Add the path to the JDK root folder to the JAVA_HOME variable. A typical path looks like this: C:\Program Files\Java\JDK_1.8.0_<version>
        Important: make sure you have specified the correct path!

Zephyr installation steps:

1. Install Zephyr Enterprise on the first node (the installation steps on the first node differ from the steps you perform on the other nodes):

 Installation steps on the first node

If you use an external database other than MySQL, please refer to Zephyr Data Center Requirements and Connecting to an External Database.

1. Double-click the installation file and select Install in the Welcome screen:

2. View the requirements, if needed, then click Next:

3. Read the license agreement and accept its terms:

4. Specify the location where you want to install Zephyr. Make sure the disk has enough free space:

5. Choose Data Center deployment, as you are installing Zephyr on a cluster node:

6. Add the license file you received from Zephyr Sales:

7. Select the Standard installation type to use predefined ports, or Custom to use some other ports:

8. In the subsequent window, select the type of the external database you set up earlier, specify the username and password you use to connect to it, the database URL, and the database driver file:

9. Click Test Connection to check that Zephyr can connect to the database:

10. In the next window, Specify the host name or the IP address and port used by Elasticsearch. If you have several Elasticsearch nodes, separate their addresses with commas:

11. In the subsequent window, configure shortcuts and click Next:

12. Wait for the installer to finish the product installation:

13. After you install Zephyr, make sure it is up and running, and then stop the node.

2. Install Zephyr Enterprise on another node:

  • Perform the steps described in Prerequisites.

  • Open the Command Prompt window as an admin and run the following command:

zephyr_6.6_xxx_setup_iRev_xxx.exe  -VzSkipStartupData=true

The command is case-sensitive.

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

You can use any number of nodes. If you want to add more nodes, repeat steps 2-3, at that, keep in mind that:

  • The nodes can be in different regions, but all of them must be in the same time zone.

  • The node IPs must be on the same subnet.

Write down the IP address of each node – you will need them at step 7. 

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

 Zephyr\tomcat\conf\server.xml

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>
 zephyr/tomcat/webapps/flex/WEB-INF/template/hazelcast.xml.tmpl
  1. Find the line –

<member>127.0.0.1:5701</member>

– and add the IPs of all the nodes instead of 127.0.0.1. For example:

<member>172.17.18.141:5701</member>
<member>172.17.18.157:5701</member>
<member>172.17.18.223:5701</member>
<member>172.17.18.201:5701</member>

  1. Find the line –

interface>127.0.0.1</interface>

– and replace it with an IP address that has an asterisk instead of the last component. For example:

<interface>172.17.18.*</interface>

 zephyr/tomcat/webapps/flex/WEB-INF/classes/hazelcast-hibernate.xml
  1. In this file, find the line –

<member>127.0.0.1:5702</member>

– and add the IP addresses of all the nodes instead of 127.0.0.1. For example:

<member>172.17.18.141:5702</member>
<member>172.17.18.157:5702</member>
<member>172.17.18.223:5702</member>
<member>172.17.18.201:5702</member>

  1. Find the line –

<interface>127.0.0.1</interface>

– and replace it with an IP address that has an asterisk instead of the last component. For example:

<interface>172.17.18.*</interface>

 zephyr/tomcat/webapps/flex/html5/index.html

Find the line –

<input type="hidden" id="notificationConType" value="websocket" />

– and replace websocket with sse:

<input type="hidden" id="notificationConType" value="sse" />

 zephyr/tomcat/conf/web.xml

In the file, before the web-app tag, add the tag <distributable />:

5. 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.

6. 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:

cluster.key=node1 (this should be a unique name of the node)
cluster.node.1.key=node1
cluster.node.1.url=172.17.18.141 (the IP address of node 1)
cluster.node.count=4
cluster.node.2.key=node2
cluster.node.2.url= 172.17.18.157(the IP address of node 2)
cluster.node.3.key=node3
cluster.node.3.url=172.17.18.223 (the IP address of node 3)
cluster.node.4.key=node4
cluster.node.4.url=172.17.18.201 (the IP address of node 4)

The cluster.key name must be unique in each file.

7. Start Zephyr on the first node. When Zephyr starts, you will see the following line in the log file zephyrlocation/tomcat/logs/thedinc.log:

*****************
Zephyr Started
*****************

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.

8. 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.

9. Stop the first node.

Now you can set up a shared folder. To learn how to do that, click Next Step below.

< Prev Step Next Step >

See Also

Set Up Zephyr Data Center
Support and Troubleshooting