66 lines
3.0 KiB
Plaintext
66 lines
3.0 KiB
Plaintext
[[breaking_50_packaging]]
|
|
=== Packaging
|
|
|
|
==== Default logging using systemd (since Elasticsearch 2.2.0)
|
|
|
|
In previous versions of Elasticsearch, the default logging
|
|
configuration routed standard output to /dev/null and standard error to
|
|
the journal. However, there are often critical error messages at
|
|
startup that are logged to standard output rather than standard error
|
|
and these error messages would be lost to the nether. The default has
|
|
changed to now route standard output to the journal and standard error
|
|
to inherit this setting (these are the defaults for systemd). These
|
|
settings can be modified by editing the elasticsearch.service file.
|
|
|
|
==== Longer startup times
|
|
|
|
In Elasticsearch 5.0.0 the `-XX:+AlwaysPreTouch` flag has been added to the JVM
|
|
startup options. This option touches all memory pages used by the JVM heap
|
|
during initialization of the HotSpot VM to reduce the chance of having to commit
|
|
a memory page during GC time. This will increase the startup time of
|
|
Elasticsearch as well as increasing the initial resident memory usage of the
|
|
Java process.
|
|
|
|
==== JVM options
|
|
|
|
Arguments to the Java Virtual Machine have been centralized and moved
|
|
to a new configuration file jvm.options. This centralization allows for
|
|
simpler end-user management of JVM options.
|
|
|
|
This migration removes all previous mechanisms of setting JVM options
|
|
via the environment variables `ES_MIN_MEM`, `ES_MAX_MEM`,
|
|
`ES_HEAP_SIZE`, `ES_HEAP_NEWSIZE`, `ES_DIRECT_SIZE`, `ES_USE_IPV4`,
|
|
`ES_GC_OPTS`, `ES_GC_LOG_FILE`, and `JAVA_OPTS`.
|
|
|
|
The default location for this file is in config/jvm.options if installing
|
|
from the tar or zip distributions, and /etc/elasticsearch/jvm.options if installing
|
|
from the Debian or RPM packages. You can specify an alternative location by setting
|
|
the environment variable `ES_JVM_OPTIONS` to the path to the file.
|
|
|
|
==== /bin/bash is now required
|
|
|
|
Previously, the scripts used to start Elasticsearch and run plugin
|
|
commands only required a Bourne-compatible shell. Starting in
|
|
Elasticsearch 5.0.0, the bash shell is now required and `/bin/bash` is a
|
|
hard-dependency for the RPM and Debian packages.
|
|
|
|
==== Environmental Settings
|
|
|
|
Previously, Elasticsearch could be configured via environment variables
|
|
in two ways: first by using the placeholder syntax
|
|
`${env.ENV_VAR_NAME}` and the second by using the same syntax without
|
|
the `env` prefix: `${ENV_VAR_NAME}`. The first method has been removed
|
|
from Elasticsearch.
|
|
|
|
Additionally, it was previously possible to set any setting in
|
|
Elasticsearch via JVM system properties. This has been removed from
|
|
Elasticsearch.
|
|
|
|
==== Dying on fatal errors
|
|
|
|
Previous versions of Elasticsearch would not halt the JVM if out of memory errors or other fatal
|
|
errors were encountered during the life of the Elasticsearch instance. Because such errors leave
|
|
the JVM in a questionable state, the best course of action is to halt the JVM when this occurs.
|
|
Starting in Elasticsearch 5.x, this is now the case. Operators should consider configuring their
|
|
Elasticsearch services so that they respawn automatically in the case of such a fatal crash.
|