Elasticsearch Single Node - In Linux

Starting October 11, 2024 (Zephyr Enterprise 8.2), the Zephyr Enterprise documentation moved from its current location on Atlassian to a dedicated, standalone Zephyr Enterprise documentation page. Please see: https://support.smartbear.com/zephyr-enterprise/docs/en/zephyr-enterprise/zephyr-installation-and-upgrade-guides/zephyr-on-premise-production-installation/elastic-search/elasticsearch-8-6-2/elasticsearch-single-node---in-linux.html

This section explains the installation and configuration of Elasticsearch (ES) in Linux.

Install and configure ES on HTTP

Installation with tar.gz file

  1. Download Elasticsearch 8.6.2

  2. Unzip the file in a preferred location using the command tar -xvf elasticsearch-8.6.2-linux-x86_64.tar.gz

You need not add configurations in .yml file. The configurations get added in .yml file, once you start the ES.

3. Go to {directory}/elasticsearch-8.6.2/bin folder.

4. Run ES with the ./elasticsearch command.

5. When you run ES in the terminal for the first time, you get a password on the terminal (As default Elasticsearch will run as HTTPS)
Note down the password for future reference.

6. Stop Elasticsearch to make ES run on HTTP

7. Make the changes mentioned in the below sample elasticsearch.yml file.

cluster.name: zephyr node.name: node-1 http.port: 9200 network.host: 192.168.0.1 xpack.security.enabled: false xpack.security.enrollment.enabled: false xpack.security.http.ssl: enabled: false xpack.security.transport.ssl: enabled: false http.host: 0.0.0.0 indices.query.bool.max_clause_count: 9024 action.auto_create_index: ".watches,.triggered_watches,.watcher-history-*,-zephyr*,+*"

8. Save the changes and start the ES.

9. Check if the ES is started by executing the curl command.

curl -XGET 'http://localhost:9200'

10. Install Zephyr with ES URL http://localhost:9200

Installation with .rmp file

  1. Download Elasticsearch 8.6.2

  2. Install the ES 8.6.2 by using command
    yum install elasticsearch-8.6.2-x86_64.rpm

  3. Once ES is installed, the password for built in super user will be displayed as shown in the screen below.

4, To run on HTTP, go to the location of .yml file etc/elasticsearch/elasticsearch.yml

5. To run on HTTP, make the SSL security false. The sample .yml file is as follows:

cluster.name: zephyr node.name: node-1 path.data: /var/lib/elasticsearch path.logs: /var/log/elasticsearch http.port: 9200 network.host: 192.168.0.1 # Enable security features xpack.security.enabled: false xpack.security.enrollment.enabled: false # Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents xpack.security.http.ssl: enabled: false keystore.path: certs/http.p12 # Enable encryption and mutual authentication between cluster nodes xpack.security.transport.ssl: enabled: false # Allow HTTP API connections from anywhere # Connections are encrypted and require user authentication http.host: 0.0.0.0

8. Start ES.

9. Check ES is installed by executing the cURL command:

10. Install Zephyr application by giving ES URL as http://localhost:9200

Install and Configure ES on HTTPS (with authentication using username and password)

  1. Download Elasticsearch 8.6.2

  2. Unzip the file in a preferred location using the command tar -xvf elasticsearch-8.6.2-linux-x86_64.tar.gz

You need not add configurations in .yml file. The configurations get added in .yml file, once you start the ES.

3. Go to {directory}/elasticsearch-8.6.2/bin folder.

4. Run ES with the ./elasticsearch command.

5. When you run ES in the terminal for the first time, you get a password on the terminal (As default Elasticsearch will run as HTTPS). Note down the password for future reference.

The following is the sample .yml file.

6. Run https://localhost:9200 in browser with default user 'elastic'. Use the ES password that you got in the step 5.

6. Install Zephyr by giving ES URL as

https://localhost:9200

7. Upon successful Zephyr installation, stop the Zephyr and navigate to the

{ZephyrDir}/tomcat/webapps/flex/WEB-INF/classes location.

8. Make changes as mentioned in the below steps, to the

jdbc.properties for ES running on HTTPS.

9. Uncomment elastic.rest.prop.xpack.security.user and change password after colon(:) with the ES password you got after step 4. The default username is “elastic”.

10. Start the Zephyr application after making these changes.

Install and Configure ES on HTTPS (using id and secret key)

  1. Download Elasticsearch 8.6.2

  2. Unzip the file in a preferred location using the command tar -xvf elasticsearch-8.6.2-linux-x86_64.tar.gz

3. Go to {directory}/elasticsearch-8.6.2/bin folder.

4. Run ES with the ./elasticsearch command.

5. When you run ES in the terminal for the first time, you get a password on the terminal (As default Elasticsearch will run as HTTPS). Note down the password for future reference.

The following is the sample .yml file.

6. Execute the below given CURL to generate an API key:

7. Refer to the generated API key response:

8. The <apiKey> would be base64 encoding of id:api_key that is base64 encoding of o3PG-n0Bf9efLymhVjzN:eR9bKD5OTeywOxovC7It2Q. We can use online utility like this(Base64 Encode and Decode - Online ) for base64 encoding.

9. Install the Zephyr application.

10. Stop Zephyr. Make changes in jdbc.properties file as mentioned below.

Add following properties in jdbc.properties file:

11. Start the Zephyr application.

Enable TLS 1.2 and 1.3 versions for Elasticsearch

You need to add these two lines in the elasticsearch.yml file:

The following is the sample .yml file:

Connect Zephyr to Elasticsearch

Elasticsearch must be running before you install Zephyr Enterprise. You connect Zephyr to ES during the product installation. To do this, specify either the IP address of your ES server, or its host name depending on the settings you have specified in the elasticsearch.yml file.

  • Single-node installation
    Specify http://192.168.0.1:9200, or http://localhost:9200 when prompted to configure Elasticsearch.