# 基本配置文件解读

URL: https://caijiao.org/elasticsearch/01.intro/07.config-overview
Source: docs/elasticsearch/01.intro/07.config-overview.md
Description: 本章解析 Elasticsearch 的主要配置文件与常用参数，包括集群名称、网络端口、内存设置、安全选项等，帮助你掌握启动调优基础。

Elasticsearch 的行为与性能主要由配置文件控制。默认配置文件为 `elasticsearch.yml`，位于解压目录的 `config/` 目录中。

了解这些配置项有助于你定制运行方式、优化性能并确保安全性。

## 1. 常用配置路径

- `elasticsearch.yml`：主配置文件
- `jvm.options`：Java 虚拟机参数配置（如内存）
- `log4j2.properties`：日志输出配置

## 2. `elasticsearch.yml` 常用配置项

```yaml
cluster.name: my-es-cluster        # 自定义集群名称
node.name: node-1                  # 节点名称（必须唯一）
network.host: 0.0.0.0              # 网络绑定地址（默认只监听本地）
http.port: 9200                    # HTTP 接口端口
discovery.seed_hosts: ["127.0.0.1"] # 节点发现配置（多节点时使用）
cluster.initial_master_nodes: ["node-1"]
xpack.security.enabled: false      # 关闭安全认证（开发环境）
````

## 3. Java 堆内存配置（`jvm.options`）

```bash
-Xms2g   # 最小堆内存
-Xmx2g   # 最大堆内存（建议两者相等，且不超过物理内存的一半）
```

修改完成后需重启服务以生效。

## 4. 常见配置建议

* 不建议在生产环境中使用 `0.0.0.0`，应绑定内网 IP
* 生产环境请启用 `xpack.security.enabled: true` 并设置 TLS
* 不同节点配置应保持一致，尤其是集群与发现相关参数

---

配置文件是控制 Elasticsearch 行为的重要入口，理解并合理调整这些参数，有助于提升稳定性与安全性，也为集群部署和运维打下基础。
