elasticsearch/docs/reference/setup/install.asciidoc
David Turner b6432e98ea
Clarify support for bundled JDK (#113993) (#114208)
Spells out that third-party EOL schedules don't affect our support. Also
reorders the information to talk about the benefits of the bundled JDK
before mentioning alternatives, and clarifies the division of
responsibilities for "supported" JDKs other than the bundled one.
2024-10-07 20:36:01 +11:00

132 lines
5.7 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[[install-elasticsearch]]
== Installing Elasticsearch
[discrete]
[[hosted-elasticsearch-service]]
=== Hosted Elasticsearch Service
{ecloud} offers all of the features of {es}, {kib}, and Elastics {observability}, {ents}, and {elastic-sec} solutions as a hosted service
available on AWS, GCP, and Azure.
To set up Elasticsearch in {ecloud}, sign up for a {ess-trial}[free {ecloud} trial].
[discrete]
[[elasticsearch-deployment-options]]
=== Self-managed {es} options
If you want to install and manage {es} yourself, you can:
* Run {es} using a <<elasticsearch-install-packages,Linux, MacOS, or Windows install package>>.
* Run {es} in a <<elasticsearch-docker-images,Docker container>>.
* Set up and manage {es}, {kib}, {agent}, and the rest of the Elastic Stack on Kubernetes with {eck-ref}[{eck}].
TIP: To try out Elasticsearch on your own machine, we recommend using Docker and running both Elasticsearch and Kibana. For more information, see <<run-elasticsearch-locally,Run Elasticsearch locally>>. Please note that this setup is *not suitable for production use*.
[discrete]
[[elasticsearch-install-packages]]
=== Elasticsearch install packages
Elasticsearch is provided in the following package formats:
[horizontal]
Linux and MacOS `tar.gz` archives::
The `tar.gz` archives are available for installation on any Linux distribution and MacOS.
+
<<targz>>
Windows `.zip` archive::
The `zip` archive is suitable for installation on Windows.
+
<<zip-windows>>
`deb`::
The `deb` package is suitable for Debian, Ubuntu, and other Debian-based
systems. Debian packages may be downloaded from the Elasticsearch website or
from our Debian repository.
+
<<deb>>
`rpm`::
The `rpm` package is suitable for installation on Red Hat, Centos, SLES,
OpenSuSE and other RPM-based systems. RPMs may be downloaded from the
Elasticsearch website or from our RPM repository.
+
<<rpm>>
TIP: For a step-by-step example of setting up the {stack} on your own premises, try out our tutorial: {stack-ref}/installing-stack-demo-self.html[Installing a self-managed Elastic Stack].
[discrete]
[[elasticsearch-docker-images]]
=== Elasticsearch container images
You can also run {es} inside a container image.
[horizontal]
`docker`::
Docker container images may be downloaded from the Elastic Docker Registry.
+
{ref}/docker.html[Install {es} with Docker]
[discrete]
[[jvm-version]]
=== Java (JVM) Version
{es} is built using Java, and includes a bundled version of https://openjdk.java.net[OpenJDK] within each distribution. We strongly
recommend using the bundled JVM in all installations of {es}.
The bundled JVM is treated the same as any other dependency of {es} in terms of support and maintenance. This means that Elastic takes
responsibility for keeping it up to date, and reacts to security issues and bug reports as needed to address vulnerabilities and other bugs
in {es}. Elastic's support of the bundled JVM is subject to Elastic's https://www.elastic.co/support_policy[support policy] and
https://www.elastic.co/support/eol[end-of-life schedule] and is independent of the support policy and end-of-life schedule offered by the
original supplier of the JVM. Elastic does not support using the bundled JVM for purposes other than running {es}.
TIP: {es} uses only a subset of the features offered by the JVM. Bugs and security issues in the bundled JVM often relate to features that
{es} does not use. Such issues do not apply to {es}. Elastic analyzes reports of security vulnerabilities in all its dependencies, including
in the bundled JVM, and will issue an https://www.elastic.co/community/security[Elastic Security Advisory] if such an advisory is needed.
If you decide to run {es} using a version of Java that is different from the bundled one, prefer to use the latest release of a
https://www.oracle.com/technetwork/java/eol-135779.html[LTS version of Java] which is link:/support/matrix[listed in the support matrix].
Although such a configuration is supported, if you encounter a security issue or other bug in your chosen JVM then Elastic may not be able
to help unless the issue is also present in the bundled JVM. Instead, you must seek assistance directly from the supplier of your chosen
JVM. You must also take responsibility for reacting to security and bug announcements from the supplier of your chosen JVM. {es} may not
perform optimally if using a JVM other than the bundled one. {es} is closely coupled to certain OpenJDK-specific features, so it may not
work correctly with JVMs that are not OpenJDK. {es} will refuse to start if you attempt to use a known-bad JVM version.
To use your own version of Java, set the `ES_JAVA_HOME` environment variable to the path to your own JVM installation. The bundled JVM is
located within the `jdk` subdirectory of the {es} home directory. You may remove this directory if using your own JVM.
[discrete]
[[jdk-locale]]
=== JDK locale database
The locale database used by {es}, used to map from various date formats to
the underlying date storage format, depends on the version of the JDK
that {es} is running on. On JDK version 23 and above, {es} will use the
_CLDR_ database. On JDK version 22 and below, {es} will use the _COMPAT_
database. This may mean that the strings used for textual date formats,
and the output of custom week-date formats, may change when moving from
a previous JDK version to JDK 23 or above. For more information, see
<<custom-date-format-locales,custom date formats>>.
[discrete]
[[jvm-agents]]
=== JVM and Java agents
Don't use third-party Java agents that attach to the JVM. These agents
can reduce {es} performance, including freezing or crashing nodes.
include::install/targz.asciidoc[]
include::install/zip-windows.asciidoc[]
include::install/deb.asciidoc[]
include::install/rpm.asciidoc[]
include::install/docker.asciidoc[]