[[setup-dir-layout]]
== Directory Layout

The directory layout of an installation is as follows:

[cols="<,<,<,<",options="header",]
|=======================================================================
|Type |Description |Default Location |Setting
|*home* |Home of elasticsearch installation | | `path.home`

|*bin* |Binary scripts including `elasticsearch` to start a node | `{path.home}/bin` |

|*conf* |Configuration files including `elasticsearch.yml` |`{path.home}/config` |`path.conf`

|*data* |The location of the data files of each index / shard allocated
on the node. Can hold multiple locations. |`{path.home}/data`|`path.data`

|*work* |Temporal files that are used by different nodes. |`{path.home}/work` |`path.work`

|*logs* |Log files location |`{path.home}/logs` |`path.logs`

|*plugins* |Plugin files location. Each plugin will be contained in a subdirectory. |`{path.home}/plugins` |`path.plugins`
|=======================================================================

The multiple data locations allows to stripe it. The striping is simple,
placing whole files in one of the locations, and deciding where to place
the file based on the value of the `index.store.distributor` setting:

* `least_used` (default) always selects the directory with the most
available space +
 * `random` selects directories at random. The probability of selecting
a particular directory is proportional to amount of available space in
this directory.

Note, there are no multiple copies of the same data, in that, its
similar to RAID 0. Though simple, it should provide a good solution for
people that don't want to mess with RAID. Here is how it is configured:

---------------------------------
path.data: /mnt/first,/mnt/second
---------------------------------

Or the in an array format:

----------------------------------------
path.data: ["/mnt/first", "/mnt/second"]
----------------------------------------
