Configuration is the set of settings that controls how an Elasticsearch system operates. Defaults make initial setup straightforward, but production deployments usually require deliberate changes for cluster behavior, storage, networking, memory, logging, and security. section 14.0 section 1.4.5
Organize Elasticsearch configuration by the part of the system it changes:
- Use elasticsearch.yml for the cluster name, node information, data and log paths, network settings, and security settings. section 14.5
- Use log4j2.properties to set Elasticsearch node logging levels, including detailed trace-level diagnostics. section 14.5 section 14.0
- Use jvm.options to set the heap memory available to the running node. section 14.5 section 14.0
- Configure index-level attributes such as shard and replica counts when creating an index, because they affect storage and search retrieval. section 6.1
Choosing the configuration directory
A binary installation reads its configuration files from $ES_HOME/config by default. A Debian or RPM installation uses /etc/elasticsearch/config. When configuration must live elsewhere, set and export ES_PATH_CONF to the replacement directory. This location contains elasticsearch.yml, log4j2.properties, and jvm.options. section 14.5
Treat configuration as an operational responsibility rather than a one-time setup task. As data and usage grow, administrators may need to tune memory, manage node failures, change network behavior, resize shards or replicas, and prepare snapshots for recovery. section 14.0 section 1.4.5






















