2016-04-03 10:09:24 -04:00
|
|
|
[[system-config]]
|
|
|
|
== Important System Configuration
|
|
|
|
|
|
|
|
Ideally, Elasticsearch should run alone on a server and use all of the
|
|
|
|
resources available to it. In order to do so, you need to configure your
|
|
|
|
operating system to allow the user running Elasticsearch to access more
|
|
|
|
resources than allowed by default.
|
|
|
|
|
|
|
|
The following settings *must* be addressed before going to production:
|
|
|
|
|
|
|
|
* <<heap-size,Set JVM heap size>>
|
|
|
|
* <<setup-configuration-memory,Disable swapping>>
|
|
|
|
* <<file-descriptors,Increase file descriptors>>
|
|
|
|
* <<vm-max-map-count,Ensure sufficient virtual memory>>
|
|
|
|
* <<max-number-of-threads,Ensure sufficient threads>>
|
|
|
|
|
|
|
|
[[dev-vs-prod]]
|
|
|
|
[float]
|
|
|
|
=== Development mode vs production mode
|
|
|
|
|
|
|
|
By default, Elasticsearch assumes that you are working in development mode.
|
|
|
|
If any of the above settings are not configured correctly, a warning will be
|
|
|
|
written to the log file, but you will be able to start and run your
|
|
|
|
Elasticsearch node.
|
|
|
|
|
|
|
|
As soon as you configure a network setting like `network.host`, Elasticsearch
|
|
|
|
assumes that you are moving to production and will upgrade the above warnings
|
|
|
|
to exceptions. These exceptions will prevent your Elasticsearch node from
|
|
|
|
starting. This is an important safety measure to ensure that you will not
|
|
|
|
lose data because of a malconfigured server.
|
|
|
|
|
|
|
|
include::sysconfig/configuring.asciidoc[]
|
|
|
|
|
|
|
|
include::sysconfig/heap_size.asciidoc[]
|
|
|
|
|
|
|
|
include::sysconfig/swap.asciidoc[]
|
|
|
|
|
|
|
|
include::sysconfig/file-descriptors.asciidoc[]
|
|
|
|
|
|
|
|
include::sysconfig/virtual-memory.asciidoc[]
|
|
|
|
|
|
|
|
include::sysconfig/threads.asciidoc[]
|
|
|
|
|
2017-11-29 19:57:26 -05:00
|
|
|
include::sysconfig/dns-cache.asciidoc[]
|