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
|
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-*" |
Links with more detailed information: