[role="xpack"] [[installing-xpack-es]] == Installing X-Pack After you install {es}, you can optionally obtain and install {xpack}. For more information about how to obtain {xpack}, see https://www.elastic.co/products/x-pack. You must run the version of {xpack} that matches the version of {es} you are running. IMPORTANT: If you are installing {xpack} for the first time on an existing cluster, you must perform a full cluster restart. Installing {xpack} enables security and security must be enabled on ALL nodes in a cluster for the cluster to operate correctly. When upgrading you can usually perform a {ref}/rolling-upgrades.html[rolling upgrade]. To install {xpack} in {es}: . Run `bin/elasticsearch-plugin install` from `ES_HOME` on each node in your cluster: + -- [source,shell] ---------------------------------------------------------- bin/elasticsearch-plugin install x-pack ---------------------------------------------------------- NOTE: If you are using a <> of {es}, run the installation with superuser permissions. To perform an offline installation, <>. -- . Confirm that you want to grant {xpack} additional permissions. + -- TIP: Specify the `--batch` option when running the install command to automatically grant these permissions and bypass these install prompts. -- + .. {xpack} needs these permissions to set the threat context loader during install so {watcher} can send email notifications. + -- [source,shell] ---------------------------------------------------------- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: plugin requires additional permissions @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ * java.lang.RuntimePermission accessClassInPackage.com.sun.activation.registries * java.lang.RuntimePermission getClassLoader * java.lang.RuntimePermission setContextClassLoader * java.lang.RuntimePermission setFactory * java.security.SecurityPermission createPolicy.JavaPolicy * java.security.SecurityPermission getPolicy * java.security.SecurityPermission putProviderProperty.BC * java.security.SecurityPermission setPolicy * java.util.PropertyPermission * read,write * java.util.PropertyPermission sun.nio.ch.bugLevel write * javax.net.ssl.SSLPermission setHostnameVerifier See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html for descriptions of what these permissions allow and the associated risks. Continue with installation? [y/N]y ---------------------------------------------------------- -- .. {xpack} requires permissions to enable {es} to launch the {ml} analytical engine. The native controller ensures that the launched process is a valid {ml} component. Once launched, communications between the {ml} processes and {es} are limited to the operating system user that {es} runs as. + -- [source,shell] ---------------------------------------------------------- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: plugin forks a native controller @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ This plugin launches a native controller that is not subject to the Java security manager nor to system call filters. Continue with installation? [y/N]y ---------------------------------------------------------- -- . {xpack} will try to automatically create a number of indices within {es}. By default, {es} is configured to allow automatic index creation, and no additional steps are required. However, if you have disabled automatic index creation in {es}, you must configure {ref}/docs-index_.html#index-creation[`action.auto_create_index`] in `elasticsearch.yml` to allow {xpack} to create the following indices: + -- [source,yaml] ----------------------------------------------------------- action.auto_create_index: .security,.monitoring*,.watches,.triggered_watches,.watcher-history*,.ml* ----------------------------------------------------------- -- + [IMPORTANT] ============================================================================= If you are using https://www.elastic.co/products/logstash[Logstash] or https://www.elastic.co/products/beats[Beats] then you will most likely require additional index names in your `action.auto_create_index` setting, and the exact value will depend on your local configuration. If you are unsure of the correct value for your environment, you may consider setting the value to `*` which will allow automatic creation of all indices. ============================================================================= . Start {es}. + -- [source,shell] ---------------------------------------------------------- bin/elasticsearch ---------------------------------------------------------- -- For information, see {kibana-ref}/installing-xpack-kb.html[Installing {xpack} on {kib}] and {logstash-ref}/installing-xpack-log.html[Installing {xpack} on Logstash]. [IMPORTANT] ============================================================================= SSL/TLS encryption is disabled by default, which means user credentials are passed in the clear. **Do not deploy to production without enabling encryption!** For more information, see {xpack-ref}/encrypting-communications.html[Encrypting Communications]. You must also **change the passwords for the built-in `elastic` user and the `kibana` user that enables {kib} to communicate with {es} before deploying to production**. For more information, see {xpack-ref}/setting-up-authentication.html[Setting Up User Authentication]. ============================================================================= [float] [[xpack-package-installation]] === Installing {xpack} on a DEB/RPM Package Installation If you use the DEB/RPM packages to install {es}, by default {es} is installed in `/usr/share/elasticsearch` and the configuration files are stored in `/etc/elasticsearch`. (For the complete list of default paths, see {ref}/deb.html#deb-layout[Debian Directory Layout] and {ref}/rpm.html#rpm-layout[RPM Directory Layout] in the {es} Reference.) To install {xpack} on a DEB/RPM package installation, you need to run `bin/plugin install` from the `/usr/share/elasticsearch` directory with superuser permissions: [source,shell] ---------------------------------------------------------- cd /usr/share/elasticsearch sudo bin/elasticsearch-plugin install x-pack ---------------------------------------------------------- NOTE: If the configuration files are not in `/etc/elasticsearch` you need to specify the location of the configuration files by setting the system property `es.path.conf` to the config path via `ES_JAVA_OPTS="-Des.path.conf="` or by setting the environment variable `CONF_DIR` via `CONF_DIR=`. [float] [[xpack-installing-offline]] === Installing {xpack} on Offline Machines The plugin install scripts require direct Internet access to download and install {xpack}. If your server doesn’t have Internet access, you can manually download and install {xpack}. To install {xpack} on a machine that doesn't have Internet access: . Manually download the {xpack} zip file: https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-{version}.zip[ +https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-{version}.zip+] (https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-{version}.zip.sha1[sha1]) . Transfer the zip file to a temporary directory on the offline machine. (Do NOT put the file in the {es} plugins directory.) . Run `bin/elasticsearch-plugin install` from the {es} install directory and specify the location of the {xpack} zip file. For example: + -- ["source","sh",subs="attributes"] ---------------------------------------------------------- bin/elasticsearch-plugin install file:///path/to/file/x-pack-{version}.zip ---------------------------------------------------------- NOTE: You must specify an absolute path to the zip file after the `file://` protocol. --