Since Crate has sensible defaults, there is no configuration needed at all for basic operation.
Crate is mainly configured via a configuration file, which is located at config/crate.yml. The vanilla configuration file distributed with the package has all available settings as comments in it along with the according default value.
The location of the config file can be specified upon startup like this:
sh$ ./bin/crate -Des.config=/path/to/config.yml
Any option can be configured either by the config file or as system property. If using system properties the required prefix ‘es.’ will be ignored.
For example, configuring the cluster name by using system properties will work this way:
sh$ ./bin/crate -Des.cluster.name=cluster
This is exactly the same as setting the cluster name in the config file:
cluster.name = cluster
Settings will get applied in the following order where the latter one will overwrite the prior one:
- internal defaults
- system properties
- options from config file
Crate uses the internal logging abstraction of Elasticsearch and comes, out of the box, with Log4j. It tries to simplify log4j configuration by using YAML to configure it. The logging configuration file is at config/logging.yml