[[rpm]] === Install Elasticsearch with RPM The RPM for Elasticsearch can be <> or from our <>. It can be used to install Elasticsearch on any RPM-based system such as OpenSuSE, SLES, Centos, Red Hat, and Oracle Enterprise. NOTE: RPM install is not supported on distributions with old versions of RPM, such as SLES 11 and CentOS 5. Please see <> instead. include::license.asciidoc[] 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]. NOTE: Elasticsearch includes a bundled version of https://openjdk.java.net[OpenJDK] from the JDK maintainers (GPLv2+CE). To use your own version of Java, see the <> [[rpm-key]] ==== Import the Elasticsearch PGP Key include::key.asciidoc[] [source,sh] ------------------------- rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch ------------------------- [[rpm-repo]] ==== Installing from the RPM repository ifeval::["{release-state}"=="unreleased"] Version {version} of Elasticsearch has not yet been released. endif::[] ifeval::["{release-state}"!="unreleased"] Create a file called `elasticsearch.repo` in the `/etc/yum.repos.d/` directory for RedHat based distributions, or in the `/etc/zypp/repos.d/` directory for OpenSuSE based distributions, containing: ifeval::["{release-state}"=="released"] ["source","sh",subs="attributes,callouts"] -------------------------------------------------- [elasticsearch] name=Elasticsearch repository for {major-version} packages baseurl=https://artifacts.elastic.co/packages/{major-version}/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=0 autorefresh=1 type=rpm-md -------------------------------------------------- endif::[] ifeval::["{release-state}"=="prerelease"] ["source","sh",subs="attributes,callouts"] -------------------------------------------------- [elasticsearch] name=Elasticsearch repository for {major-version} packages baseurl=https://artifacts.elastic.co/packages/{major-version}-prerelease/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=0 autorefresh=1 type=rpm-md -------------------------------------------------- endif::[] And your repository is ready for use. You can now install Elasticsearch with one of the following commands: [source,sh] -------------------------------------------------- sudo yum install --enablerepo=elasticsearch elasticsearch <1> sudo dnf install --enablerepo=elasticsearch elasticsearch <2> sudo zypper modifyrepo --enable elasticsearch && \ sudo zypper install elasticsearch; \ sudo zypper modifyrepo --disable elasticsearch <3> -------------------------------------------------- <1> Use `yum` on CentOS and older Red Hat based distributions. <2> Use `dnf` on Fedora and other newer Red Hat distributions. <3> Use `zypper` on OpenSUSE based distributions NOTE: The configured repository is disabled by default. This eliminates the possibility of accidentally upgrading `elasticsearch` when upgrading the rest of the system. Each install or upgrade command must explicitly enable the repository as indicated in the sample commands above. endif::[] ifeval::["{release-state}"!="unreleased"] [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 `baseurl` in your `elasticsearch.repo` file: ifeval::["{release-state}"=="prerelease"] ["source","sh",subs="attributes,callouts"] -------------------------------------------------- baseurl=https://artifacts.elastic.co/packages/oss-{major-version}-prerelease/yum -------------------------------------------------- endif::[] ifeval::["{release-state}"!="prerelease"] ["source","sh",subs="attributes,callouts"] -------------------------------------------------- baseurl=https://artifacts.elastic.co/packages/oss-{major-version}/yum -------------------------------------------------- endif::[] ================================================== endif::[] [[install-rpm]] ==== Download and install the RPM manually ifeval::["{release-state}"=="unreleased"] Version {version} of Elasticsearch has not yet been released. endif::[] ifeval::["{release-state}"!="unreleased"] The RPM for Elasticsearch v{version} can be downloaded from the website and installed as follows: ["source","sh",subs="attributes"] -------------------------------------------- wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-{version}-x86_64.rpm wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-{version}-x86_64.rpm.sha512 shasum -a 512 -c elasticsearch-{version}-x86_64.rpm.sha512 <1> sudo rpm --install elasticsearch-{version}-x86_64.rpm -------------------------------------------- <1> Compares the SHA of the downloaded RPM and the published checksum, which should output `elasticsearch-{version}-x86_64.rpm: OK`. Alternatively, you can download the following package, which contains only features that are available under the Apache 2.0 license: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-{version}-x86_64.rpm endif::[] include::skip-set-kernel-parameters.asciidoc[] ifdef::include-xpack[] [role="xpack"] [[rpm-enable-indices]] ==== Enable automatic creation of system indices include::xpack-indices.asciidoc[] endif::include-xpack[] [[rpm-sysv-init-vs-systemd]] ==== SysV `init` vs `systemd` include::init-systemd.asciidoc[] [[rpm-running-init]] include::rpm-init.asciidoc[] [[rpm-running-systemd]] include::systemd.asciidoc[] [[rpm-check-running]] include::check-running.asciidoc[] [[rpm-configuring]] ==== Configuring Elasticsearch include::etc-elasticsearch.asciidoc[] The RPM also has a system configuration file (`/etc/sysconfig/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 <> for more information. [[rpm-layout]] ==== Directory layout of RPM The RPM places config files, logs, and the data directory in the appropriate locations for an RPM-based system: [cols="> | conf | Environment variables including heap size, file descriptors. | /etc/sysconfig/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 | jdk | The bundled Java Development Kit used to run Elasticsearch. Can be overridden by setting the `JAVA_HOME` environment variable in `/etc/sysconfig/elasticsearch`. | /usr/share/elasticsearch/jdk d| | logs | Log files location. | /var/log/elasticsearch | path.logs | plugins | Plugin files location. Each plugin will be contained in a subdirectory. | /usr/share/elasticsearch/plugins | | 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 |======================================================================= include::next-steps.asciidoc[]