Skip to main content
Skip table of contents

Configuring Elasticsearch

After installing Elasticsearch it needs the following configuration changes before it can be used productively.

Precondition: make sure your machine has a fixed IP address.

Edit /etc/sysctl.config:

Configuration Task

Reduce the kernel’s tendency to swap. Still allow to swap in emergency conditions.

Set vm.swappiness=1

Edit /etc/elasticsearch/jvm.options:

Configuration Task

Set the Java heap size to half of the available memory but not greater than 16 GB

Example for 2 GB:

-Xms2g
-Xmx2g

Edit /etc/elasticsearch/elasticsearch.yml:

Configuration Task

Make Elasticsearch node accessible under a public IP address (instead of localhost only)

Set network.host to your fixed IP address

Retrieve IP address information using /sbin/ifconfig

Ensure that your Elasticsearch nodes are in the same Elasticsearch cluster and don't influence other Elasticsearch installations

Set cluster.name to something unique, e.g. ElasticDigaSystem

Give your node a unique (and self-explaining name)

Set node.name to something unique, e.g. DigaSystemNode1

Prevent wildcard deleting of indices

Set action.destructive_requires_name to true

Disable automatic index creation

Set action.auto_create_index to 0 

Breaking change in Elasticsearch 6.x:

Set action.auto_create_index to ".watches,.triggered_watches,.watcher-history-*

If you are using HTTPS and multiple nodes (sniffing pool)

Set http.publish_host to your fully qualified DNS hostname, e.g. elastic8a.davidsystems-test.com

If you are not using standard port 9200 you also have to set http.publish_port

Links with more detailed information:

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.