Link Search Menu Expand Document

Open Distro for Elasticsearch development has moved to OpenSearch. The ODFE plugins will continue to work with legacy versions of Elasticsearch OSS, but we recommend upgrading to OpenSearch to take advantage of the latest features and improvements.


Like the tarball installation, the Windows installation of Open Distro for Elasticsearch is a good option for testing and development, but we recommend Docker or a package manager for production deployments. We test on Windows 10 and Windows Server 2019, but other versions might work.

As an alternative, try Ubuntu for Windows 10, which you can use to install Debian packages.

ZIP install

  1. Download the ZIP file.

  2. Extract the file to a directory, and open that directory at the command prompt.

  3. Run Open Distro for Elasticsearch:


EXE install

  1. Install Java 11.

  2. Download the EXE file, run it, and click through the steps.

  3. Open the command prompt and navigate to the Open Distro for Elasticsearch install directory.

  4. Run Open Distro for Elasticsearch:


Install as a Windows service

Installing Open Distro for Elasticsearch as a Windows service lets it run in the background and makes it easier to monitor. You can also configure the service to start automatically after a reboot.

  1. Open the command prompt and navigate to the Open Distro for Elasticsearch install directory.

  2. Set the JAVA_HOME environment variable:

    set JAVA_HOME=C:\path\to\jdk
  3. (Optional) Set the ES_START_TYPE environment variable if you want Open Distro for Elasticsearch to start automatically when Windows starts:

    set ES_START_TYPE=auto
  4. Install the service:

    .\bin\elasticsearch-service.bat install
  5. (Optional) Open the service manager UI to make additional configuration changes:

    .\bin\elasticsearch-service.bat manager
  6. Start the service:

    .\bin\elasticsearch-service.bat start

Verify the install

After you start Open Distro for Elasticsearch, open a new command prompt window. Then send requests to the server to verify that it is up and running:

curl -XGET https://localhost:9200 -u "admin:admin" --insecure
curl -XGET https://localhost:9200/_cat/plugins?v -u "admin:admin" --insecure

You must have curl installed for these commands to work. Alternatives include Invoke-RestMethod (only PowerShell 6 and later support the -SkipCertificateCheck flag) and Postman.


You can modify config\elasticsearch.yml or specify environment variables as arguments using -E:

.\bin\elasticsearch.bat -Ediscovery.type=single-node

For other settings, see Important settings.