Setting up a node
ElasticSearch allows you to customize several parameters in an installation. In this recipe, we'll see the most used ones to define where to store our data and to improve general performances.
Getting ready
You need a working ElasticSearch installation.
How to do it...
The steps required for setting up a simple node are as follows:
- Open the
config/elasticsearch.yml
file with an editor of your choice. - Set up the directories that store your server data:
path.conf: /opt/data/es/conf path.data: /opt/data/es/data1,/opt2/data/data2 path.work: /opt/data/work path.logs: /opt/data/logs path.plugins: /opt/data/plugins
- Set up parameters to control the standard index creation. These parameters are:
index.number_of_shards: 5 index.number_of_replicas: 1
How it works...
The path.conf
file defines the directory that contains your configuration: mainly elasticsearch.yml
and logging.yml
. The default location is $ES_HOME/config
with ES_HOME
your install directory.
The path.data
file is the most important one: it allows defining one or more directories where you store index data. When you define more than one directory, they are managed similarly to a RAID 0 configuration (the total space is the sum of all the data directory entry points), favoring locations with the most free space.
The path.work
file is a location where ElasticSearch puts temporary files.
The path.log
file is where log files are put. The control how to log is managed in logging.yml
.
The path.plugins
file allows overriding the plugins path (default $ES_HOME/plugins
). It's useful to put "system wide" plugins.
The main parameters used to control the index and shard is index.number_of_shards
, that controls the standard number of shards for a new created index, and index.number_of_replicas
that controls the initial number of replicas.
There's more...
There are a lot of other parameters that can be used to customize your ElasticSearch installation and new ones are added with new releases. The most important ones are described in this recipe and in the next one.
See also
- Setting up ElasticSearch for Linux systems (advanced)
- The official ElasticSearch documentation at http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/setup-configuration.html