Uxopian Software documentation is now centralized on a single site. Find the up-to-date documentation for our products on doc.uxopian.com.

Installation

OpenSearch installation

Installation procedure

There are several ways to install OpenSearch, explained step by step in the official documentation.

Configuration

To configure your OpenSearch instance, edit the ${OPENSEARCH_HOME}/config/opensearch.yml file as follows:

  • To define the name of the OpenSearch cluster, uncomment the cluster.name property and change its value (eg: flower-es-dev)
  • In the case of an OpenSearch cluster, uncomment the node.name property and change its value to that of your choice (e.g. node-1)
  • Add the action.auto_create_index: false property
  • If several OpenSearch nodes are deployed on the same computer, you need to change the value of the http.port property
  • To access OpenSearch from a remote server, you need to uncomment the network.host property and set one of the following values:
    • 0.0.0.0
    • DNS name
    • IP address


Security

OpenSearch internal users are defined in the ${OPENSEARCH_HOME}/plugins/opensearch-security/securityconfig/internal_users.yml file.


Only keep the users you need, and change their passwords to avoid using default values for security reasons.

To change a user’s password:

  • run command: ${OPENSEARCH_HOME}/plugins/opensearch-security/tools/hash.sh -p <new_password>
  • Replace the password hash in the ${OPENSEARCH_HOME}/plugins/opensearch-security/securityconfig/internal_users.yml file for the desired user.
  • in order for the changes to take effect, run the ${OPENSEARCH_HOME}/plugins/opensearch-security/tools/securityadmin.sh script


For more information on securing an OpenSearch instance, official documentation is available here.

Start

Manuel

Finally, start OpenSearch by going to the ${OPENSEARCH_HOME}/bin folder and running the opensearch script.

Service

To install OpenSearch as a systemd service, the following file must be created in the /etc/systemd/system directory as follows:


opensearch.service

[Unit]
Description=opensearch
Wants=network-online.target
After=network-online.target

[Service]
RuntimeDirectory=opensearch
PrivateTmp=true

WorkingDirectory=${OPENSEARCH_HOME}

User=${OPENSEARCH_USER}
Group=${OPENSEARCH_USER}

ExecStart=${OPENSEARCH_HOME}/bin/opensearch -p ${OPENSEARCH_HOME}/opensearch.pid -q

StandardOutput=journal
StandardError=inherit

# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536

# Specifies the memory lock settings
LimitMEMLOCK=infinity

# Specifies the maximum number of processes
LimitNPROC=4096

# Specifies the maximum size of virtual memory
LimitAS=infinity

# Specifies the maximum file size
LimitFSIZE=infinity

# Disable timeout logic and wait until process is stopped
TimeoutStopSec=0

# SIGTERM signal is used to stop the Java process
KillSignal=SIGTERM

# Send the signal only to the JVM rather than its control group
KillMode=process

# Java process is never killed
SendSIGKILL=no

# When a JVM receives a SIGTERM signal it exits with code 143
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

To have the service started automatically by systemd, run the following commands:


  systemctl enable opensearch.service

Validation

To check that OpenSearch is working properly, go to http://localhost:9200/.