OpenSearch/docs/reference/setup.asciidoc
Jason Tedor b9df2e2287 Improve the out-of-the-box experience
Elasticsearch can be run in a few different ways:
 - from the command line on Linux and Windows
 - as a service on Linux and Windows

on both 32-bit client and 64-bit server VMs. We strive for a great
out-of-the-box experience any of these combinations but today it is
lacking on 32-bit client JVMs and on the Windows service. There are two
deficiencies that arise:
 - on any 32-bit client JVM we fail to start out of the box because we
   force the server JVM in jvm.options
 - when installing the Windows service, the thread stack size must be
   specified in jvm.options

This commit attempts to address these deficiencies.

We should continue to force the server JVM because there are systems
where the server JVM is not active by default (e.g., the 32-bit JDK on
Windows). This does mean that if a user tries to run with a client JVM
they will see a failure message at startup but this is the best that we
can do if we want to continue to force the server JVM. Thus, this commit
at least documents this situation.

To improve the situation with installing the Windows service, this
commit adds a default setting for the thread stack size. This default is
chosen based on the default thread stack size across all 64-bit server
JVMs. This means that if a user tries to run with a 32-bit JVM they
could otherwise see significantly higher memory usage (this situation is
complicated, it's really only on Windows where the extra memory usage is
egregious, but cutting into the 32-bit address space on any system is
bad). So this commit makes it so that the out-of-the-box experience is
improved for the Windows service on 64-bit server JVMs and we document
the need to adjust this setting on 32-bit JVMs.

Again, we are focusing on the out-of-the-box experience here and this
means optimizing for the best experience on any 64-bit server JVM as
this covers the vast majority of the user base. The users that are on
32-bit JVMs will suffer a little bit but at least now any user on any
64-bit server JVM can start Elasticsearch out of the box.

Finally, we fix some references to the jvm.options documentation.

Relates #21920
2016-12-01 17:26:29 -05:00

56 lines
1.6 KiB
Plaintext

[[setup]]
= Setup Elasticsearch
[partintro]
--
This section includes information on how to setup Elasticsearch and get it
running, including:
* Downloading
* Installing
* Starting
* Configuring
[[supported-platforms]]
[float]
== Supported platforms
The matrix of officially supported operating systems and JVMs is available here:
link:/support/matrix[Support Matrix]. Elasticsearch is tested on the listed
platforms, but it is possible that it will work on other platforms too.
[float]
[[jvm-version]]
== Java (JVM) Version
Elasticsearch is built using Java, and requires at least
http://www.oracle.com/technetwork/java/javase/downloads/index.html[Java 8] in
order to run. Only Oracle's Java and the OpenJDK are supported. The same JVM
version should be used on all Elasticsearch nodes and clients.
We recommend installing Java version *{jdk} or later*. Elasticsearch will
refuse to start if a known-bad version of Java is used.
The version of Java that Elasticsearch will use can be configured by setting
the `JAVA_HOME` environment variable.
NOTE: Elasticsearch ships with default configuration for running Elasticsearch on 64-bit server JVMs. If you are using a 32-bit client JVM,
you must remove `-server` from <<jvm-options,jvm.options>> and if you are using any 32-bit JVM you should reconfigure the thread stack size
from `-Xss1m` to `-Xss320k`.
--
include::setup/install.asciidoc[]
include::setup/configuration.asciidoc[]
include::setup/important-settings.asciidoc[]
include::setup/bootstrap-checks.asciidoc[]
include::setup/sysconfig.asciidoc[]
include::setup/upgrade.asciidoc[]
include::setup/stopping.asciidoc[]