Elastic Search
This section applies specifically to the Zephyr Enterprise Data Center product. The information below is generally used to ensure that system administrators can set up Elastic Search for their new Zephyr Enterprise Data Center product instance.
Installing and configuring Elastic Search is a requirement for using Zephyr Enterprise Data Center.
This section provides step-by-step instructions for installing Elastic Search. The Elastic Search cluster will be setup under Transport mode.
There are two different ways to configure Elastic Search.
- One is for use of Elastic Search on the same node as Zephyr
- One is for a separate server from Zephyr.
- Both ways are described below. For ease of installation, it is recommended to install and configure Elastic Search on the same server as Zephyr unless otherwise required.
If you are looking for a single, integrated database installation of Zephyr Enterprise, please refer to the Zephyr Enterprise Server installation guide.
Prerequisites
- Ensure every node has Java JDK 8+ installed and environment variables setup for both JAVA_HOME and PATH
- Requires elasticsearch-1.5.2
- Download Elastic Search from here
- Download Elastic Search from here
- Elastic Search nodes can either be setup in the same system or on different servers, but they must not be on the same server as the Application nodes
- All nodes must be on the same network
Setting up Elastic Search on the same nodes as Zephyr
Step 1:
Extract the files to your desired root location
Step 2:
In the config folder of the Elasticsearch root, you'll find a file named elasticsearch.yml. Edit this file and add these lines anywhere:
cluster.name: zephyr script.disable_dynamic: false script.inline: true script.indexed: true
Step 3:
From the Elasticsearch root folder, navigate to the bin directory, you'll find Windows and Linux-based executable files for running Elasticsearch. You can either install Elasticsearch as a service or run it from the command line/terminal.
Step 4:
Repeat Steps 1-3 for all remaining nodes
Step 5:
Finally, make changes on all the Zephyr nodes. On each node, go to the %Zephyr\tomcat\webapps\flex\WEB-INF\classes\jdbc.properties file, and add/modify these properties:
#transport|node elastic.client=transport transport.nodes=<NODE1_IP>:9300, <NODE2_IP>:9300
For transport.nodes add the list of all Zephyr nodes with Elasticsearch
Setting up Elastic Search on different server from Zephyr node
Setting up Server/Node 1:
Step 1:
Extract the files to your desired root location
Step 2:
In the config folder of the Elasticsearch root, you'll find a file named elasticsearch.yml. Edit this file and add these lines anywhere:
cluster.name: zephyr node.name: "Node1" node.master: true node.data: true script.disable_dynamic: false script.inline: true script.indexed: true index.number_of_shards: 2 index.number_of_replicas: 1 network.bind_host: <MACHINE_IP> network.publish_host: <MACHINE_IP> network.host: <MACHINE_IP> transport.tcp.port: 9300 http.port: 9200 discovery.zen.ping.timeout: 3s discovery.zen.ping.unicast.hosts: ["<NODE1_IP>", "<NODE2_IP>"]
Replace <MACHINE_IP> with the IP of the machine being configured. For discovery.zen.ping.unicast.hosts add the list of all node IP addresses in the format depicted above.
Step 3:
From the Elasticsearch root folder, navigate to the bin directory, you'll find Windows and Linux-based executable files for running Elasticsearch. You can either install Elasticsearch as a service or run it from the command line/terminal.
Setting up Server/Node 2:
Step 1:
Extract the files to your desired root location
Step 2:
In the config folder of the Elasticsearch root, you'll find a file named elasticsearch.yml. Edit this file and add these lines anywhere:
cluster.name: zephyr node.name: "Node2" node.master: true node.data: true script.disable_dynamic: false script.inline: true script.indexed: true index.number_of_shards: 2 index.number_of_replicas: 1 network.bind_host: <MACHINE_IP> network.publish_host: <MACHINE_IP> network.host: <MACHINE_IP> transport.tcp.port: 9300 http.port: 9200 discovery.zen.ping.timeout: 3s discovery.zen.ping.unicast.hosts: ["<NODE1_IP>", "<NODE2_IP>"]
Replace <MACHINE_IP> with the IP of the machine being configured. For discovery.zen.ping.unicast.hosts add the list of all node IP addresses in the format depicted above.
Step 3:
Now, if you navigate to the bin directory, you'll find Windows and Linux-based executable files for running Elasticsearch. Start Elasticsearch.
Step 4:
Finally, make changes on all the Zephyr nodes. On each node, go to the jdbc.properties file, and add/modify these properties:
#transport|node elastic.client=transport transport.nodes=192.168.45.21:9300, 192.168.45.22:9300
Migrating from single node to different node Elastic Search from Zephyr Enterprise node
Setting up new ES node:
Step 1:
Stop Zephy Enterprise Server service.
Step 2:
On the new node, extract the files to your desired root location
Step 3:
In the config folder of the Elasticsearch root, you'll find a file named elasticsearch.yml. Edit this file and add these lines anywhere:
cluster.name: zephyr node.name: "Node1" node.master: true node.data: true script.disable_dynamic: false script.inline: true script.indexed: true index.number_of_shards: 1 index.number_of_replicas: 1 network.bind_host: <NODE1_IP> network.publish_host: <NODE1_IP> network.host: <NODE1_IP> transport.tcp.port: 9300 http.port: 9200 discovery.zen.ping.timeout: 3s discovery.zen.ping.unicast.hosts: ["<NODE1_IP>"]
Replace <MACHINE_IP> with the IP of the machine being configured. For discovery.zen.ping.unicast.hosts add the list of all node IP addresses in the format depicted above.
Step 3:
Now, if you navigate to the bin directory, you'll find Windows and Linux-based executable files for running Elasticsearch. Start Elasticsearch.
Step 4:
Finally, make changes on all the Zephyr node(s). On each node, go to the jdbc.properties file, and add/modify these properties:
#transport|node elastic.client=transport transport.nodes=<NODE1_IP>:9300
Step 5:
Remove Elastic Search service from Zephyr node
Step 6:
Start Zephyr Enterprise Server Service. The first thing that should be done is to manually re-index Zephyr. Searches will not populate properly until this is done.
Starting Release 8.2, Zephyr Enterprise documentation is moving from its current location on Atlassian to a dedicated, standalone Zephyr Enterprise Documentation page. https://support.smartbear.com/zephyr-enterprise/docs/en/welcome-to-zephyr-enterprise.html