deb.asciidoc 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. [[deb]]
  2. === Install Elasticsearch with Debian Package
  3. The Debian package for Elasticsearch can be <<install-deb,downloaded from our website>>
  4. or from our <<deb-repo,APT repository>>. It can be used to install
  5. Elasticsearch on any Debian-based system such as Debian and Ubuntu.
  6. include::license.asciidoc[]
  7. The latest stable version of Elasticsearch can be found on the
  8. link:/downloads/elasticsearch[Download Elasticsearch] page. Other versions can
  9. be found on the link:/downloads/past-releases[Past Releases page].
  10. NOTE: Elasticsearch requires Java 8 or later. Use the
  11. http://www.oracle.com/technetwork/java/javase/downloads/index.html[official Oracle distribution]
  12. or an open-source distribution such as http://openjdk.java.net[OpenJDK].
  13. [[deb-key]]
  14. ==== Import the Elasticsearch PGP Key
  15. include::key.asciidoc[]
  16. [source,sh]
  17. -------------------------
  18. wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
  19. -------------------------
  20. [[deb-repo]]
  21. ==== Installing from the APT repository
  22. ifeval::["{release-state}"=="unreleased"]
  23. Version {version} of Elasticsearch has not yet been released.
  24. endif::[]
  25. ifeval::["{release-state}"!="unreleased"]
  26. You may need to install the `apt-transport-https` package on Debian before proceeding:
  27. [source,sh]
  28. --------------------------------------------------
  29. sudo apt-get install apt-transport-https
  30. --------------------------------------------------
  31. Save the repository definition to +/etc/apt/sources.list.d/elastic-{major-version}.list+:
  32. ifeval::["{release-state}"=="released"]
  33. ["source","sh",subs="attributes,callouts"]
  34. --------------------------------------------------
  35. echo "deb https://artifacts.elastic.co/packages/{major-version}/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-{major-version}.list
  36. --------------------------------------------------
  37. endif::[]
  38. ifeval::["{release-state}"=="prerelease"]
  39. ["source","sh",subs="attributes,callouts"]
  40. --------------------------------------------------
  41. 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
  42. --------------------------------------------------
  43. endif::[]
  44. [NOTE]
  45. ==================================================
  46. These instructions do not use `add-apt-repository` for several reasons:
  47. . `add-apt-repository` adds entries to the system `/etc/apt/sources.list` file
  48. rather than a clean per-repository file in `/etc/apt/sources.list.d`
  49. . `add-apt-repository` is not part of the default install on many distributions
  50. and requires a number of non-default dependencies.
  51. . Older versions of `add-apt-repository` always add a `deb-src` entry which
  52. will cause errors because we do not provide a source package. If you have added
  53. the `deb-src` entry, you will see an error like the following until you delete
  54. the `deb-src` line:
  55. Unable to find expected entry 'main/source/Sources' in Release file
  56. (Wrong sources.list entry or malformed file)
  57. ==================================================
  58. You can install the Elasticsearch Debian package with:
  59. [source,sh]
  60. --------------------------------------------------
  61. sudo apt-get update && sudo apt-get install elasticsearch
  62. --------------------------------------------------
  63. [WARNING]
  64. ==================================================
  65. If two entries exist for the same Elasticsearch repository, you will see an error like this during `apt-get update`:
  66. ["literal",subs="attributes,callouts"]
  67. Duplicate sources.list entry https://artifacts.elastic.co/packages/{major-version}/apt/ ...`
  68. 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.
  69. ==================================================
  70. endif::[]
  71. include::skip-set-kernel-parameters.asciidoc[]
  72. [[install-deb]]
  73. ==== Download and install the Debian package manually
  74. ifeval::["{release-state}"=="unreleased"]
  75. Version {version} of Elasticsearch has not yet been released.
  76. endif::[]
  77. ifeval::["{release-state}"!="unreleased"]
  78. The Debian package for Elasticsearch v{version} can be downloaded from the website and installed as follows:
  79. ["source","sh",subs="attributes"]
  80. --------------------------------------------
  81. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-{version}.deb
  82. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-{version}.deb.sha512
  83. shasum -a 512 -c elasticsearch-{version}.deb.sha512 <1>
  84. sudo dpkg -i elasticsearch-{version}.deb
  85. --------------------------------------------
  86. <1> Compares the SHA of the downloaded Debian package and the published checksum, which should output
  87. `elasticsearch-{version}.deb: OK`.
  88. Alternatively, you can download the following package, which contains only
  89. features that are available under the Apache 2.0 license:
  90. https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-{version}.deb
  91. endif::[]
  92. ifdef::include-xpack[]
  93. [[deb-enable-indices]]
  94. ==== Enable automatic creation of {xpack} indices
  95. {xpack} will try to automatically create a number of indices within Elasticsearch.
  96. include::{xes-repo-dir}/setup/xpack-indices.asciidoc[]
  97. endif::include-xpack[]
  98. include::init-systemd.asciidoc[]
  99. [[deb-running-init]]
  100. ==== Running Elasticsearch with SysV `init`
  101. Use the `update-rc.d` command to configure Elasticsearch to start automatically
  102. when the system boots up:
  103. [source,sh]
  104. --------------------------------------------------
  105. sudo update-rc.d elasticsearch defaults 95 10
  106. --------------------------------------------------
  107. Elasticsearch can be started and stopped using the `service` command:
  108. [source,sh]
  109. --------------------------------------------
  110. sudo -i service elasticsearch start
  111. sudo -i service elasticsearch stop
  112. --------------------------------------------
  113. If Elasticsearch fails to start for any reason, it will print the reason for
  114. failure to STDOUT. Log files can be found in `/var/log/elasticsearch/`.
  115. [[deb-running-systemd]]
  116. include::systemd.asciidoc[]
  117. [[deb-check-running]]
  118. include::check-running.asciidoc[]
  119. [[deb-configuring]]
  120. ==== Configuring Elasticsearch
  121. include::etc-elasticsearch.asciidoc[]
  122. The Debian package also has a system configuration file (`/etc/default/elasticsearch`),
  123. which allows you to set the following parameters:
  124. include::sysconfig-file.asciidoc[]
  125. NOTE: Distributions that use `systemd` require that system resource limits be
  126. configured via `systemd` rather than via the `/etc/sysconfig/elasticsearch`
  127. file. See <<systemd>> for more information.
  128. [[deb-layout]]
  129. ==== Directory layout of Debian package
  130. The Debian package places config files, logs, and the data directory in the appropriate
  131. locations for a Debian-based system:
  132. [cols="<h,<,<m,<m",options="header",]
  133. |=======================================================================
  134. | Type | Description | Default Location | Setting
  135. | home
  136. | Elasticsearch home directory or `$ES_HOME`
  137. | /usr/share/elasticsearch
  138. d|
  139. | bin
  140. | Binary scripts including `elasticsearch` to start a node
  141. and `elasticsearch-plugin` to install plugins
  142. | /usr/share/elasticsearch/bin
  143. d|
  144. | conf
  145. | Configuration files including `elasticsearch.yml`
  146. | /etc/elasticsearch
  147. | <<config-files-location,ES_PATH_CONF>>
  148. | conf
  149. | Environment variables including heap size, file descriptors.
  150. | /etc/default/elasticsearch
  151. d|
  152. | data
  153. | The location of the data files of each index / shard allocated
  154. on the node. Can hold multiple locations.
  155. | /var/lib/elasticsearch
  156. | path.data
  157. | logs
  158. | Log files location.
  159. | /var/log/elasticsearch
  160. | path.logs
  161. | plugins
  162. | Plugin files location. Each plugin will be contained in a subdirectory.
  163. | /usr/share/elasticsearch/plugins
  164. |
  165. | repo
  166. | 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.
  167. d| Not configured
  168. | path.repo
  169. |=======================================================================
  170. include::next-steps.asciidoc[]