Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 41 Next »

To be able to work with Zephyr Data Center, you need to install and configure Elasticsearch -- a search and analytics engine -- on a separate node. Depending on the number of concurrent users who will work with the Data Center, you may need to set up one Elasticsearch node or a cluster of nodes (see Recommended Configurations).

  • The latest Zephyr Enterprise release supports Elasticsearch 7.16.2 and 8.6.2

  • If you use an Elasticsearch cluster, there is no need to use an external load balancer, as Elasticsearch used in a cluster has the load balancing capability.

To install Elasticsearch on Windows (on a single node or on cluster nodes):

  1. Download Elasticsearch 7.16.2 or Elasticsearch 8.6.2 (the ZIP archive).

2. Unzip the downloaded file.

3. Configure the {elasticsearch}\config\elasticsearch.yml file:
For more details on configuration for-
Single node- refer to the details in ES 8.6.2 or ES 7.16.2
Cluster nodes - refer to the details in ES 8.6.2 or ES 7.16.2

If you have configured an Elasticsearch cluster, change the number_of_shards and number_of_replicas values in the Zephyr\tomcat\webapps\flex\WEB-INF\template\zephyr\_settings.json file:
"number_of_shards" : 2,
"number_of_replicas" : 1

For a single node, leave the default values.

4. Start the service by running the elasticsearch-7.16.2\bin\elasticsearch.bat file.

To install Elasticsearch on Linux (on a single node or on cluster nodes):

1.Download Elasticsearch 7.16.2 or Elasticsearch 8.6.2 (the RPM archive), or run the following command in the Linux command prompt:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.2-x86_64.rpm

2. In the Linux command prompt, run one of the following commands to install Elasticsearch:

sudo rpm -ivh elasticsearch-7.16.2-x86_64.rpm
sudo yum localinstall elasticsearch-7.16.2-x86_64.rpm

3. Configure the etc\elasticsearch\elasticsearch.yml file:

 For a single node

Specify the following properties in the elasticsearch.yml file:

cluster.name: zephyr
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 192.168.0.1
xpack.security.enabled: false
discovery.seed_hosts: ["192.168.0.1"]
http.port: 9200
indices.query.bool.max_clause_count: 9024
 For a cluster
  • The number of Elasticsearch nodes you use in a cluster should be odd. That is, the minimum number of nodes you can use in a cluster is 3.

  • To avoid split-brain, you need to specify an appropriate value for the discovery.zen.minimum_master_nodes parameter. To determine it, follow the rule N/2+1, where N is the number of nodes in the cluster. In a three-node cluster, the parameter should be set to 2 (3/2+1=2 - rounded down to the nearest integer).

1. Specify the following properties in the elasticsearch.yml file on all Elasticsearch nodes (replace the IPs with your IPs):

Elasticsearch node 1:

#ESNode 1 (192.168.0.1)

cluster.name: zephyr
node.name: node-1
node.master: true
node.data: true
http.port: 9200
bootstrap.memory_lock: false
network.host: 192.168.0.1
discovery.seed_hosts: ["192.168.0.1", "192.168.0.2", "192.168.0.3"]
cluster.initial_master_nodes: ["192.168.0.1", "192.168.0.2", "192.168.0.3"]
xpack.security.enabled: false
indices.query.bool.max_clause_count: 9024

Elasticsearch node 2:

#ESNode 2 (192.168.0.2)

cluster.name: zephyr
node.name: node-2
node.master: true
node.data: true
http.port: 9200
bootstrap.memory_lock: false
network.host: 192.168.0.2
discovery.seed_hosts: ["192.168.0.1", "192.168.0.2", "192.168.0.3"]
cluster.initial_master_nodes: ["192.168.0.1", "192.168.0.2", "192.168.0.3"]
xpack.security.enabled: false
indices.query.bool.max_clause_count: 9024

Elasticsearch node 3:

#ESNode 3 (192.168.0.3)

cluster.name: zephyr
node.name: node-3
http.port: 9200
node.master: true
node.data: true
bootstrap.memory_lock: false
network.host: 192.168.0.3
discovery.seed_hosts: ["192.168.0.1", "192.168.0.2", "192.168.0.3"]
cluster.initial_master_nodes: ["192.168.0.1", "192.168.0.2", "192.168.0.3"]
xpack.security.enabled: false
indices.query.bool.max_clause_count: 9024

discovery.seed_hosts should list all the IPs and ports used in the cluster.

2. After creating all the nodes, delete the /var/lib/elasticsearch/nodes folder on all the nodes, then restart.

If you have configured an Elasticsearch cluster, change the number_of_shards and number_of_replicas values in the Zephyr\tomcat\webapps\flex\WEB-INF\template\zephyr\_settings.json file:
"number_of_shards" : 2,
"number_of_replicas" : 1

For a single node, leave the default values.

4. Start Elasticsearch. The way you start and stop it depends on whether your system uses SysV init or systemd.

If SysV init is used, you start and stop Elasticsearch by running the service command:

sudo -i service elasticsearch start

sudo -i service elasticsearch stop

If systemd is used, you run the following commands:

sudo systemctl start elasticsearch.service

sudo systemctl stop elasticsearch.service

5. Run the following command to verify Elasticsearch is working properly:

curl -XGET '192.168.11.146:9200/_cat/health?v&pretty'


< Prev Step Next Step >

See Also

Set Up Zephyr Data Center
/wiki/spaces/ZE/pages/1558445859

  • No labels