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:


Edit /etc/elasticsearch/elasticsearch.yml:

Configuration Task

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

Set 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 installationsSet to something unique, e.g. ElasticDigaSystem
Give your node a unique (and self-explaining name)Set to something unique, e.g. DigaSystemNode1
Prevent wildcard deleting of indicesSet 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-*

Links with more detailed information: