123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508 |
- [[windows]]
- === Install Elasticsearch with Windows MSI Installer
- beta[]
- Elasticsearch can be installed on Windows using the `.msi` package. This can
- install Elasticsearch as a Windows service or allow it to be run manually using
- the included `elasticsearch.exe` executable.
- TIP: Elasticsearch has historically been installed on Windows using the <<zip-windows, .zip>> archive.
- You can continue using the `.zip` approach if you prefer.
- 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 requires Java 8 or later. Use the
- http://www.oracle.com/technetwork/java/javase/downloads/index.html[official Oracle distribution]
- or an open-source distribution such as http://openjdk.java.net[OpenJDK].
- [[download-msi]]
- ==== Download the `.msi` package
- ifeval::["{release-state}"=="unreleased"]
- Version {version} of Elasticsearch has not yet been released.
- endif::[]
- ifeval::["{release-state}"!="unreleased"]
- Download the `.msi` package for Elasticsearch v{version} from https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-{version}.msi
- endif::[]
- [[install-msi-gui]]
- ==== Install using the graphical user interface (GUI)
- Double-click the downloaded `.msi` package to launch a GUI wizard that will guide you through the
- installation process. You can view help on any step by clicking the `?` button, which reveals an
- aside panel with additional information for each input:
- [[msi-installer-help]]
- image::images/msi_installer/msi_installer_help.png[]
- Within the first screen, select the directory for the installation. In addition, select directories for where
- data, logs and configuration will reside or <<msi-command-line-options,roll with the default locations>>:
- [[msi-installer-locations]]
- image::images/msi_installer/msi_installer_locations.png[]
- Then select whether to install as a service or start Elasticsearch manually as needed. When
- installing as a service, you can also decide which account to run the service under as well
- as whether the service should be started after installation and when Windows is started or
- restarted:
- [[msi-installer-service]]
- image::images/msi_installer/msi_installer_service.png[]
- IMPORTANT: When selecting an account to run the service with, be sure that the chosen account
- has sufficient privileges to access the installation and other deployment directories chosen.
- Common configuration settings are exposed within the Configuration section, allowing the cluster
- name, node name and roles to be set, in addition to memory and network settings:
- [[msi-installer-configuration]]
- image::images/msi_installer/msi_installer_configuration.png[]
- A list of common plugins that can be downloaded and installed as
- part of the installation, with the option to configure a HTTPS proxy through which to download:
- [[msi-installer-selected-plugins]]
- image::images/msi_installer/msi_installer_selected_plugins.png[]
- Upon choosing to install X-Pack plugin, an additional step allows a choice of the type of X-Pack
- license to install, in addition to X-Pack Security configuration and built-in user configuration:
- [[msi-installer-xpack]]
- image::images/msi_installer/msi_installer_xpack.png[]
- NOTE: X-Pack includes a choice of a Trial or Basic license for 30 days. After that, you can obtain one of the
- https://www.elastic.co/subscriptions[available subscriptions] or {ref}/security-settings.html[disable Security].
- The Basic license is free and includes the https://www.elastic.co/products/x-pack/monitoring[Monitoring] extension.
- After clicking the install button, the installer will begin installation:
- [[msi-installer-installing]]
- image::images/msi_installer/msi_installer_installing.png[]
- and will indicate when it has been successfully installed:
- [[msi-installer-success]]
- image::images/msi_installer/msi_installer_success.png[]
- [[install-msi-command-line]]
- ==== Install using the command line
- The `.msi` can also install Elasticsearch using the command line. The simplest installation
- using the same defaults as the GUI is achieved by first navigating to the download directory,
- then running:
- ["source","sh",subs="attributes,callouts"]
- --------------------------------------------
- msiexec.exe /i elasticsearch-{version}.msi /qn
- --------------------------------------------
- By default, msiexec does not wait for the installation process to complete, since it runs in the
- Windows subsystem. To wait on the process to finish and ensure that `%ERRORLEVEL%` is set
- accordingly, it is recommended to use `start /wait` to create a process and wait for it to exit
- ["source","sh",subs="attributes,callouts"]
- --------------------------------------------
- start /wait msiexec.exe /i elasticsearch-{version}.msi /qn
- --------------------------------------------
- As with any MSI installation package, a log file for the installation process can be found
- within the `%TEMP%` directory, with a randomly generated name adhering to the format
- `MSI<random>.LOG`. The path to a log file can be supplied using the `/l` command line argument
- ["source","sh",subs="attributes,callouts"]
- --------------------------------------------
- start /wait msiexec.exe /i elasticsearch-{version}.msi /qn /l install.log
- --------------------------------------------
- Supported Windows Installer command line arguments can be viewed using
- ["source","sh",subs="attributes,callouts"]
- --------------------------------------------
- msiexec.exe /help
- --------------------------------------------
- or by consulting the https://msdn.microsoft.com/en-us/library/windows/desktop/aa367988(v=vs.85).aspx[Windows Installer SDK Command-Line Options].
- [[msi-command-line-options]]
- ==== Command line options
- All settings exposed within the GUI are also available as command line arguments (referred to
- as _properties_ within Windows Installer documentation) that can be passed to msiexec:
- [horizontal]
- `INSTALLDIR`::
- The installation directory. The final directory in the path **must**
- be the version of Elasticsearch.
- Defaults to ++%ProgramW6432%\Elastic\Elasticsearch{backslash}{version}++.
- `DATADIRECTORY`::
- The directory in which to store your data.
- Defaults to `%ALLUSERSPROFILE%\Elastic\Elasticsearch\data`
- `CONFIGDIRECTORY`::
- The directory in which to store your configuration.
- Defaults to `%ALLUSERSPROFILE%\Elastic\Elasticsearch\config`
- `LOGSDIRECTORY`::
- The directory in which to store your logs.
- Defaults to `%ALLUSERSPROFILE%\Elastic\Elasticsearch\logs`
- `PLACEWRITABLELOCATIONSINSAMEPATH`::
- Whether the data, configuration and logs directories
- should be created under the installation directory. Defaults to `false`
- `INSTALLASSERVICE`::
- Whether Elasticsearch is installed and configured as a Windows Service.
- Defaults to `true`
- `STARTAFTERINSTALL`::
- Whether the Windows Service is started after installation finishes.
- Defaults to `true`
- `STARTWHENWINDOWSSTARTS`::
- Whether the Windows Service is started when Windows is started.
- Defaults to `true`
- `USELOCALSYSTEM`::
- Whether the Windows service runs under the LocalSystem Account.
- Defaults to `true`
- `USENETWORKSERVICE`::
- Whether the Windows service runs under the NetworkService Account. Defaults
- to `false`
- `USEEXISTINGUSER`::
- Whether the Windows service runs under a specified existing account. Defaults
- to `false`
- `USER`::
- The username for the account under which the Windows service runs. Defaults to `""`
- `PASSWORD`::
- The password for the account under which the Windows service runs. Defaults to `""`
- `CLUSTERNAME`::
- The name of the cluster. Defaults to `elasticsearch`
- `NODENAME`::
- The name of the node. Defaults to `%COMPUTERNAME%`
- `MASTERNODE`::
- Whether Elasticsearch is configured as a master node. Defaults to `true`
- `DATANODE`::
- Whether Elasticsearch is configured as a data node. Defaults to `true`
- `INGESTNODE`::
- Whether Elasticsearch is configured as an ingest node. Defaults to `true`
- `SELECTEDMEMORY`::
- The amount of memory to allocate to the JVM heap for Elasticsearch.
- Defaults to `2048` unless the target machine has less than 4GB in total, in which case
- it defaults to 50% of total memory.
- `LOCKMEMORY`::
- Whether `bootstrap.memory_lock` should be used to try to lock the process
- address space into RAM. Defaults to `false`
- `UNICASTNODES`::
- A comma separated list of hosts in the form `host:port` or `host` to be used for
- unicast discovery. Defaults to `""`
- `MINIMUMMASTERNODES`::
- The minimum number of master-eligible nodes that must be visible
- in order to form a cluster. Defaults to `""`
- `NETWORKHOST`::
- The hostname or IP address to bind the node to and _publish_ (advertise) this
- host to other nodes in the cluster. Defaults to `""`
- `HTTPPORT`::
- The port to use for exposing Elasticsearch APIs over HTTP. Defaults to `9200`
- `TRANSPORTPORT`::
- The port to use for internal communication between nodes within the cluster.
- Defaults to `9300`
- `PLUGINS`::
- A comma separated list of the plugins to download and install as part of the installation. Defaults to `""`
- `HTTPSPROXYHOST`::
- The proxy host to use to download plugins over HTTPS. Defaults to `""`
- `HTTPSPROXYPORT`::
- The proxy port to use to download plugins over HTTPS. Defaults to `443`
- `HTTPPROXYHOST`::
- The proxy host to use to download plugins over HTTP. Defaults to `""`
- `HTTPPROXYPORT`::
- The proxy port to use to download plugins over HTTP. Defaults to `80`
- `XPACKLICENSE`::
- When installing X-Pack plugin, the type of license to install,
- either `Basic` or `Trial`. Defaults to `Basic`
- `XPACKSECURITYENABLED`::
- When installing X-Pack plugin with a `Trial` license, whether X-Pack Security should be enabled.
- Defaults to `true`
- `BOOTSTRAPPASSWORD`::
- When installing X-Pack plugin with a `Trial` license and X-Pack Security enabled, the password to
- used to bootstrap the cluster and persisted as the `bootstrap.password` setting in the keystore.
- Defaults to a randomized value.
- `SKIPSETTINGPASSWORDS`::
- When installing X-Pack plugin with a `Trial` license and X-Pack Security enabled, whether the
- installation should skip setting up the built-in users `elastic`, `kibana` and `logstash_system`.
- Defaults to `false`
- `ELASTICUSERPASSWORD`::
- When installing X-Pack plugin with a `Trial` license and X-Pack Security enabled, the password
- to use for the built-in user `elastic`. Defaults to `""`
- `KIBANAUSERPASSWORD`::
- When installing X-Pack plugin with a `Trial` license and X-Pack Security enabled, the password
- to use for the built-in user `kibana`. Defaults to `""`
- `LOGSTASHSYSTEMUSERPASSWORD`::
- When installing X-Pack plugin with a `Trial` license and X-Pack Security enabled, the password
- to use for the built-in user `logstash_system`. Defaults to `""`
- To pass a value, simply append the property name and value using the format `<PROPERTYNAME>="<VALUE>"` to
- the installation command. For example, to use a different installation directory to the default one and to install https://www.elastic.co/products/x-pack[X-Pack]:
- ["source","sh",subs="attributes,callouts"]
- --------------------------------------------
- start /wait msiexec.exe /i elasticsearch-{version}.msi /qn INSTALLDIR="C:\Custom Install Directory" PLUGINS="x-pack"
- --------------------------------------------
- Consult the https://msdn.microsoft.com/en-us/library/windows/desktop/aa367988(v=vs.85).aspx[Windows Installer SDK Command-Line Options]
- for additional rules related to values containing quotation marks.
- [[msi-installer-command-line-running]]
- ==== Running Elasticsearch from the command line
- Once installed, Elasticsearch can be started from the command line, if not installed as a service
- and configured to start when installation completes, as follows:
- ["source","sh",subs="attributes,callouts"]
- --------------------------------------------
- .\bin\elasticsearch.exe
- --------------------------------------------
- The command line terminal will display output similar to the following:
- [[msi-installer-elasticsearch-exe]]
- image::images/msi_installer/elasticsearch_exe.png[]
- By default, Elasticsearch runs in the foreground, prints its logs to `STDOUT` in addition
- to the `<cluster name>.log` file within `LOGSDIRECTORY`, and can be stopped by pressing `Ctrl-C`.
- [[msi-installer-command-line-configuration]]
- ==== Configuring Elasticsearch on the command line
- Elasticsearch loads its configuration from the `%ES_PATH_CONF%\elasticsearch.yml`
- file by default. The format of this config file is explained in
- <<settings>>.
- Any settings that can be specified in the config file can also be specified on
- the command line, using the `-E` syntax as follows:
- ["source","sh",subs="attributes,callouts"]
- --------------------------------------------
- .\bin\elasticsearch.exe -E cluster.name=my_cluster -E node.name=node_1
- --------------------------------------------
- NOTE: Values that contain spaces must be surrounded with quotes. For instance `-E path.logs="C:\My Logs\logs"`.
- TIP: Typically, any cluster-wide settings (like `cluster.name`) should be
- added to the `elasticsearch.yml` config file, while any node-specific settings
- such as `node.name` could be specified on the command line.
- include::check-running.asciidoc[]
- [[msi-installer-windows-service]]
- ==== Installing Elasticsearch as a Service on Windows
- Elasticsearch can be installed as a service to run in the background or start
- automatically at boot time without any user interaction. This can be achieved upon installation
- using the following command line options
-
- * `INSTALLASSERVICE=true`
- * `STARTAFTERINSTALL=true`
- * `STARTWHENWINDOWSSTARTS=true`
- Once installed, Elasticsearch will appear within the Services control panel:
- [[msi-installer-installed-service]]
- image::images/msi_installer/msi_installer_installed_service.png[]
- and can be stopped and restarted from within the control panel, or from the command line using:
- with Command Prompt:
- [source,sh]
- --------------------------------------------
- sc.exe stop Elasticsearch
- sc.exe start Elasticsearch
- --------------------------------------------
- with PowerShell:
- [source,powershell]
- --------------------------------------------
- Get-Service Elasticsearch | Stop-Service | Start-Service
- --------------------------------------------
- Changes can be made to jvm.options and elasticsearch.yml configuration files to configure the
- service after installation. Most changes (like JVM settings) will require a restart of the
- service in order to take effect.
- [[upgrade-msi-gui]]
- ==== Upgrade using the graphical user interface (GUI)
- The `.msi` package supports upgrading an installed version of Elasticsearch to a newer
- version of Elasticsearch. The upgrade process through the GUI handles upgrading all
- installed plugins as well as retaining both your data and configuration.
- Downloading and clicking on a newer version of the `.msi` package will launch the GUI wizard.
- The first step will list the read only properties from the previous installation:
- [[msi-installer-upgrade-notice]]
- image::images/msi_installer/msi_installer_upgrade_notice.png[]
- The following configuration step allows certain configuration options to be changed:
- [[msi-installer-upgrade-configuration]]
- image::images/msi_installer/msi_installer_upgrade_configuration.png[]
- Finally, the plugins step allows currently installed plugins to be upgraded or removed, and
- for plugins not currently installed, to be downloaded and installed:
- [[msi-installer-upgrade-plugins]]
- image::images/msi_installer/msi_installer_upgrade_plugins.png[]
- [[upgrade-msi-command-line]]
- ==== Upgrade using the command line
- The `.msi` can also upgrade Elasticsearch using the command line.
- [IMPORTANT]
- ===========================================
- A command line upgrade requires passing the **same** command line properties as
- used at first install time; the Windows Installer does not remember these properties.
- For example, if you originally installed with the command line options `PLUGINS="x-pack"` and
- `LOCKMEMORY="true"`, then you must pass these same values when performing an
- upgrade from the command line.
- The **exception** to this is `INSTALLDIR` (if originally specified), which must be a different directory to the
- current installation.
- If setting `INSTALLDIR`, the final directory in the path **must** be the version of Elasticsearch e.g.
- ++C:\Program Files\Elastic\Elasticsearch{backslash}{version}++
- ===========================================
- The simplest upgrade, assuming Elasticsearch was installed using all defaults,
- is achieved by first navigating to the download directory, then running:
- ["source","sh",subs="attributes,callouts"]
- --------------------------------------------
- start /wait msiexec.exe /i elasticsearch-{version}.msi /qn
- --------------------------------------------
- Similar to the install process, a path to a log file for the upgrade process can
- be passed using the `/l` command line argument
- ["source","sh",subs="attributes,callouts"]
- --------------------------------------------
- start /wait msiexec.exe /i elasticsearch-{version}.msi /qn /l upgrade.log
- --------------------------------------------
- [[uninstall-msi-gui]]
- ==== Uninstall using Add/Remove Programs
- The `.msi` package handles uninstallation of all directories and files added as part of installation.
- WARNING: Uninstallation will remove **all** directories and their contents created as part of
- installation, **including data within the data directory**. If you wish to retain your data upon
- uninstallation, it is recommended that you make a copy of the data directory before uninstallation.
- MSI installer packages do not provide a GUI for uninstallation. An installed program can be uninstalled
- by pressing the Windows key and typing `add or remove programs` to open the system settings.
- Once opened, find the Elasticsearch installation within the list of installed applications, click
- and choose `Uninstall`:
- [[msi-installer-uninstall]]
- image::images/msi_installer/msi_installer_uninstall.png[]
- This will launch the uninstallation process.
- [[uninstall-msi-command-line]]
- ==== Uninstall using the command line
- Uninstallation can also be performed from the command line by navigating to the directory
- containing the `.msi` package and running:
- ["source","sh",subs="attributes,callouts"]
- --------------------------------------------
- start /wait msiexec.exe /x elasticsearch-{version}.msi /qn
- --------------------------------------------
- Similar to the install process, a path to a log file for the uninstallation process can
- be passed using the `/l` command line argument
- ["source","sh",subs="attributes,callouts"]
- --------------------------------------------
- start /wait msiexec.exe /x elasticsearch-{version}.msi /qn /l uninstall.log
- --------------------------------------------
- include::next-steps.asciidoc[]
|