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

Back to Top ^