Ansible Role: Elasticsearch
An Ansible Role that installs Elasticsearch on RedHat/CentOS or Debian/Ubuntu.
Requires at least Java 8. You can use the
geerlingguy.java to easilly install Java.
Available variables are listed below, along with default values (see
defaults/main.yml for default role variables,
vars/Debian.yml for distribution specific variables):
The major version to use when installing Elasticsearch.
If you want to follow the latest release in the
elasticsearch_version major release cycle, keep the default here. Otherwise you can add
-7.13.2 (for RHEL-based systems) or
=7.13.2 (for Debian-based systems) to lock in a specific version, e.g.
elasticsearch package state; set to
latest to upgrade or change versions.
elasticsearch_service_state: started elasticsearch_service_enabled: true
Controls the Elasticsearch service options.
Network host to listen for incoming connections on. By default we only listen on the localhost interface. Change this to the IP address to listen on a specific interface, or
"0.0.0.0" to listen on all interfaces.
When listening on multiple interfaces, if you're setting up a single Elasticsearch server (not a cluster), you should also add
discovery.type: single-node to
The port to listen for HTTP connections on.
The minimum jvm heap size.
The maximum jvm heap size.
A placeholder for arbitrary configuration options not exposed by the role. This will be appended as-is to the end of the
elasticsearch.yml file, as long as your variable preserves formatting with a
|. For example:
elasticsearch_extra_options: | # Dont forget the pipe! some.option: true another.option: false
- hosts: search roles: - geerlingguy.java - geerlingguy.elasticsearch
MIT / BSD