2016-04-03 10:09:24 -04:00
[[deb]]
=== Install Elasticsearch with Debian Package
2017-03-06 17:37:48 -05:00
The Debian package for Elasticsearch can be <<install-deb,downloaded from our website>>
2018-05-01 20:04:16 -04:00
or from our <<deb-repo,APT repository>>. It can be used to install
2016-04-03 10:09:24 -04:00
Elasticsearch on any Debian-based system such as Debian and Ubuntu.
2018-05-01 20:04:16 -04:00
include::license.asciidoc[]
2016-04-03 10:09:24 -04:00
The latest stable version of Elasticsearch can be found on the
link:/downloads/elasticsearch[Download Elasticsearch] page. Other versions can
be found on the link:/downloads/past-releases[Past Releases page].
2019-03-29 09:04:46 -04:00
NOTE: Elasticsearch includes a bundled version of http://openjdk.java.net[OpenJDK]
from the JDK maintainers (GPLv2+CE). To use your own version of Java,
see the <<jvm-version, JVM version requirements>>
2016-11-01 17:52:09 -04:00
2016-04-03 10:09:24 -04:00
[[deb-key]]
==== Import the Elasticsearch PGP Key
include::key.asciidoc[]
[source,sh]
-------------------------
2016-09-19 21:10:45 -04:00
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
2016-04-03 10:09:24 -04:00
-------------------------
[[deb-repo]]
==== Installing from the APT repository
2016-10-06 11:56:55 -04:00
ifeval::["{release-state}"=="unreleased"]
Version {version} of Elasticsearch has not yet been released.
endif::[]
ifeval::["{release-state}"!="unreleased"]
2016-04-03 10:09:24 -04:00
You may need to install the `apt-transport-https` package on Debian before proceeding:
[source,sh]
--------------------------------------------------
sudo apt-get install apt-transport-https
--------------------------------------------------
2016-09-19 21:10:45 -04:00
Save the repository definition to +/etc/apt/sources.list.d/elastic-{major-version}.list+:
2016-04-03 10:09:24 -04:00
2016-10-06 11:56:55 -04:00
ifeval::["{release-state}"=="released"]
2016-04-03 10:09:24 -04:00
["source","sh",subs="attributes,callouts"]
--------------------------------------------------
2017-05-09 12:33:13 -04:00
echo "deb https://artifacts.elastic.co/packages/{major-version}/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-{major-version}.list
2016-04-03 10:09:24 -04:00
--------------------------------------------------
2016-10-06 11:56:55 -04:00
endif::[]
ifeval::["{release-state}"=="prerelease"]
["source","sh",subs="attributes,callouts"]
--------------------------------------------------
2017-05-09 12:33:13 -04:00
echo "deb https://artifacts.elastic.co/packages/{major-version}-prerelease/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-{major-version}.list
2016-10-06 11:56:55 -04:00
--------------------------------------------------
endif::[]
2017-01-10 13:49:57 -05:00
[NOTE]
2016-04-03 10:09:24 -04:00
==================================================
2017-01-10 13:49:57 -05:00
These instructions do not use `add-apt-repository` for several reasons:
. `add-apt-repository` adds entries to the system `/etc/apt/sources.list` file
rather than a clean per-repository file in `/etc/apt/sources.list.d`
. `add-apt-repository` is not part of the default install on many distributions
and requires a number of non-default dependencies.
. Older versions of `add-apt-repository` always add a `deb-src` entry which
will cause errors because we do not provide a source package. If you have added
the `deb-src` entry, you will see an error like the following until you delete
the `deb-src` line:
2016-04-03 10:09:24 -04:00
Unable to find expected entry 'main/source/Sources' in Release file
(Wrong sources.list entry or malformed file)
==================================================
You can install the Elasticsearch Debian package with:
[source,sh]
--------------------------------------------------
sudo apt-get update && sudo apt-get install elasticsearch
--------------------------------------------------
[WARNING]
==================================================
If two entries exist for the same Elasticsearch repository, you will see an error like this during `apt-get update`:
["literal",subs="attributes,callouts"]
2016-09-20 02:11:02 -04:00
Duplicate sources.list entry https://artifacts.elastic.co/packages/{major-version}/apt/ ...`
2016-04-03 10:09:24 -04:00
Examine +/etc/apt/sources.list.d/elasticsearch-{major-version}.list+ for the duplicate entry or locate the duplicate entry amongst the files in `/etc/apt/sources.list.d/` and the `/etc/apt/sources.list` file.
==================================================
2016-10-06 15:40:17 -04:00
endif::[]
2016-12-01 17:23:51 -05:00
include::skip-set-kernel-parameters.asciidoc[]
2016-04-03 10:09:24 -04:00
2018-11-30 13:17:39 -05:00
ifeval::["{release-state}"!="unreleased"]
2018-11-29 03:22:10 -05:00
[NOTE]
==================================================
An alternative package which contains only features that are available under the
Apache 2.0 license is also available. To install it, use the following sources list:
ifeval::["{release-state}"=="prerelease"]
["source","sh",subs="attributes,callouts"]
--------------------------------------------------
echo "deb https://artifacts.elastic.co/packages/oss-{major-version}-prerelease/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-{major-version}.list
--------------------------------------------------
endif::[]
ifeval::["{release-state}"!="prerelease"]
["source","sh",subs="attributes,callouts"]
--------------------------------------------------
echo "deb https://artifacts.elastic.co/packages/oss-{major-version}/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-{major-version}.list
--------------------------------------------------
endif::[]
==================================================
endif::[]
2016-04-03 10:09:24 -04:00
[[install-deb]]
==== Download and install the Debian package manually
2016-10-06 15:40:17 -04:00
ifeval::["{release-state}"=="unreleased"]
Version {version} of Elasticsearch has not yet been released.
endif::[]
ifeval::["{release-state}"!="unreleased"]
2017-03-20 10:07:59 -04:00
The Debian package for Elasticsearch v{version} can be downloaded from the website and installed as follows:
2016-04-03 10:09:24 -04:00
["source","sh",subs="attributes"]
--------------------------------------------
2019-01-29 14:18:30 -05:00
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-{version}-amd64.deb
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-{version}-amd64.deb.sha512
shasum -a 512 -c elasticsearch-{version}-amd64.deb.sha512 <1>
sudo dpkg -i elasticsearch-{version}-amd64.deb
2016-04-03 10:09:24 -04:00
--------------------------------------------
2017-11-29 21:29:06 -05:00
<1> Compares the SHA of the downloaded Debian package and the published checksum, which should output
2019-01-29 14:18:30 -05:00
`elasticsearch-{version}-amd64.deb: OK`.
2018-05-01 20:04:16 -04:00
Alternatively, you can download the following package, which contains only
features that are available under the Apache 2.0 license:
2019-01-29 14:18:30 -05:00
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-{version}-amd64.deb
2016-04-03 10:09:24 -04:00
2016-10-06 11:56:55 -04:00
endif::[]
2018-04-09 11:19:38 -04:00
ifdef::include-xpack[]
2019-07-30 17:59:20 -04:00
[role="xpack"]
2018-04-09 11:19:38 -04:00
[[deb-enable-indices]]
2019-07-30 17:59:20 -04:00
==== Enable automatic creation of system indices
2018-04-09 11:19:38 -04:00
2018-06-06 17:46:20 -04:00
include::xpack-indices.asciidoc[]
2018-04-09 11:19:38 -04:00
endif::include-xpack[]
2019-04-30 10:19:09 -04:00
[[deb-sysv-init-vs-systemd]]
2018-07-03 16:40:37 -04:00
==== SysV `init` vs `systemd`
2016-04-03 10:09:24 -04:00
include::init-systemd.asciidoc[]
[[deb-running-init]]
2018-07-03 16:40:37 -04:00
include::deb-init.asciidoc[]
2016-04-03 10:09:24 -04:00
[[deb-running-systemd]]
include::systemd.asciidoc[]
[[deb-check-running]]
include::check-running.asciidoc[]
[[deb-configuring]]
==== Configuring Elasticsearch
2017-09-27 09:22:52 -04:00
include::etc-elasticsearch.asciidoc[]
2016-04-03 10:09:24 -04:00
The Debian package also has a system configuration file (`/etc/default/elasticsearch`),
which allows you to set the following parameters:
include::sysconfig-file.asciidoc[]
NOTE: Distributions that use `systemd` require that system resource limits be
configured via `systemd` rather than via the `/etc/sysconfig/elasticsearch`
file. See <<systemd>> for more information.
[[deb-layout]]
==== Directory layout of Debian package
The Debian package places config files, logs, and the data directory in the appropriate
locations for a Debian-based system:
[cols="<h,<,<m,<m",options="header",]
|=======================================================================
| Type | Description | Default Location | Setting
| home
| Elasticsearch home directory or `$ES_HOME`
| /usr/share/elasticsearch
d|
| bin
| Binary scripts including `elasticsearch` to start a node
and `elasticsearch-plugin` to install plugins
| /usr/share/elasticsearch/bin
d|
| conf
| Configuration files including `elasticsearch.yml`
| /etc/elasticsearch
2017-08-14 17:19:06 -04:00
| <<config-files-location,ES_PATH_CONF>>
2016-04-03 10:09:24 -04:00
| conf
| Environment variables including heap size, file descriptors.
| /etc/default/elasticsearch
d|
| data
| The location of the data files of each index / shard allocated
on the node. Can hold multiple locations.
| /var/lib/elasticsearch
| path.data
2019-08-29 17:13:35 -04:00
| jdk
| The bundled Java Development Kit used to run Elasticsearch. Can
2019-11-27 13:39:54 -05:00
be overriden by setting the `JAVA_HOME` environment variable
in `/etc/default/elasticsearch`.
2019-08-29 17:13:35 -04:00
| /usr/share/elasticsearch/jdk
d|
2016-04-03 10:09:24 -04:00
| logs
| Log files location.
2016-05-12 16:42:27 -04:00
| /var/log/elasticsearch
2016-04-03 10:09:24 -04:00
| path.logs
| plugins
| Plugin files location. Each plugin will be contained in a subdirectory.
| /usr/share/elasticsearch/plugins
2016-11-09 05:54:56 -05:00
|
2016-04-03 10:09:24 -04:00
| repo
| Shared file system repository locations. Can hold multiple locations. A file system repository can be placed in to any subdirectory of any directory specified here.
d| Not configured
| path.repo
|=======================================================================
2016-05-06 10:05:19 -04:00
include::next-steps.asciidoc[]