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.
Installing and running Open Distro for Elasticsearch from an Debian package is a more manual process than the Docker image. We recommend Ubuntu 16.04 or 18.04, but any Debian-based distribution that uses systemd should work.
RPM lets you install specific versions of Open Distro for Elasticsearch. You can install specific versions using Apt, but you have to manually install each dependency.
These steps assume you’re using Ubuntu 18.04.
Install Java 11:
sudo add-apt-repository ppa:openjdk-r/ppa sudo apt update sudo apt install openjdk-11-jdk
sudo apt install unzip
Download and add signing keys for the repositories:
wget -qO - https://d3g5vo6xdbdb9a.cloudfront.net/GPG-KEY-opendistroforelasticsearch | sudo apt-key add -
Add the repositories:
echo "deb https://d3g5vo6xdbdb9a.cloudfront.net/apt stable main" | sudo tee -a /etc/apt/sources.list.d/opendistroforelasticsearch.list
Install Elasticsearch OSS:
# x86 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-7.10.2-amd64.deb sudo dpkg -i elasticsearch-oss-7.10.2-amd64.deb # ARM64 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-7.10.2-arm64.deb sudo dpkg -i elasticsearch-oss-7.10.2-arm64.deb
Install the latest version of Open Distro for Elasticsearch:
sudo apt-get update sudo apt install opendistroforelasticsearch
If you don’t want the latest version or encounter dependency errors, install the plugins individually:
# List all available versions of a plugin sudo apt list -a opendistro-alerting # Install a specific version of a plugin sudo apt install opendistro-alerting=126.96.36.199-1 sudo apt install opendistro-performance-analyzer=188.8.131.52-1 sudo apt install opendistro-job-scheduler=184.108.40.206-1 sudo apt install opendistro-security=220.127.116.11-0 sudo apt install opendistro-sql=18.104.22.168-1
For compatibility by Elasticsearch version, see Plugin compatibility.
To start Open Distro for Elasticsearch:
sudo systemctl start elasticsearch.service
Send requests to the server to verify that Elasticsearch is up and running:
curl -XGET https://localhost:9200 -u 'admin:admin' --insecure curl -XGET https://localhost:9200/_cat/nodes?v -u 'admin:admin' --insecure curl -XGET https://localhost:9200/_cat/plugins?v -u 'admin:admin' --insecure
For instructions on installing and running Kibana, see Kibana.
To check the status of the service:
systemctl status elasticsearch.service
To stop Open Distro for Elasticsearch:
sudo systemctl stop elasticsearch.service
To run Open Distro for Elasticsearch when the system starts:
sudo /bin/systemctl daemon-reload sudo /bin/systemctl enable elasticsearch.service
You can also modify the values in
JAVA_HOME, most notably),
/etc/elasticsearch/jvm.options (to set the heap size, most notably). To learn more, see Elasticsearch configuration and Important Settings on the Docker page.
(Optional) Set up Performance Analyzer
By default, Performance Analyzer’s endpoints are not accessible from outside the host machine.
To edit this behavior, modify the plugin configuration. First navigate to
ES_HOME, which is
/usr/share/elasticsearch for a standard installation.
cd $ES_HOME # navigate to the Elasticsearch home directory cd plugins/opendistro_performance_analyzer/pa_config/ vi performance-analyzer.properties
Uncomment the line
#webservice-bind-host and set it to
# ======================== Elasticsearch performance analyzer plugin config ========================= # NOTE: this is an example for Linux. Please modify the config accordingly if you are using it under other OS. # WebService bind host; default to all interfaces webservice-bind-host = 0.0.0.0 # Metrics data location metrics-location = /dev/shm/performanceanalyzer/ # Metrics deletion interval (minutes) for metrics data. # Interval should be between 1 to 60. metrics-deletion-interval = 1 # If set to true, the system cleans up the files behind it. So at any point, we should expect only 2 # metrics-db-file-prefix-path files. If set to false, no files are cleaned up. This can be useful, if you are archiving # the files and wouldn't like for them to be cleaned up. cleanup-metrics-db-files = true # WebService exposed by App's port webservice-listener-port = 9600 # Metric DB File Prefix Path location metrics-db-file-prefix-path = /tmp/metricsdb_ https-enabled = false #Setup the correct path for certificates certificate-file-path = specify_path private-key-file-path = specify_path # Plugin Stats Metadata file name, expected to be in the same location plugin-stats-metadata = plugin-stats-metadata # Agent Stats Metadata file name, expected to be in the same location agent-stats-metadata = agent-stats-metadata
Finally, restart the Elasticsearch service. After the restart, Performance Analyzer is accessible from outside the machine:
sudo systemctl restart elasticsearch.service
Where are the files?
The Debian package installs files to the following locations:
|Elasticsearch home, management scripts, and plugins|| |
|Configuration files|| |
|Environment variables|| |
|Shard data|| |
Notes on Debian
If you are using Debian 10 (Buster) rather than Ubuntu, skip the
sudo add-apt-repository ppa:openjdk-r/ppa step. The
openjdk-11-jdk package is available by default for Buster.
If you are using Debian 9 (Strech), you likely need to make some modifications to the install process.
When installing Java 11, rather than
sudo add-apt-repository ppa:openjdk-r/ppa, run:
sudo echo 'deb http://deb.debian.org/debian stretch-backports main' > /etc/apt/sources.list.d/backports.list
Before installing Open Distro for Elasticsearch, run:
apt install apt-transport-https