Skip to content

Elasticsearch 参数速查 ​

本文以 Elasticsearch 8.x 为基线,线程池、堆内存等默认值随版本变化,实际运行值以 GET /_nodes/thread_pool、GET /_nodes/stats/jvm 查询为准。

JVM 配置(jvm.options) ​

参数默认值推荐值说明
-Xms / -Xmx自动计算手动设置时:≤ 可用内存 50%,且不超过压缩指针阈值(约 26GB)堆内存,两端设相同值;7.11 起按节点角色和可用内存自动配置,容器环境按容器内存计算
-XX:+UseG1GC已启用已启用(通常无需手工指定)使用 G1 垃圾回收器
-XX:MaxGCPauseMillis200200GC 目标暂停时间(JVM 默认 200ms),非保证值

集群配置(elasticsearch.yml) ​

参数默认值推荐值说明
cluster.nameelasticsearch自定义集群名称
node.name自动生成节点主机名节点名称
node.rolesall按需分配常见角色:master/data/ingest;未显式配置时承担一组内置角色(含 data_* 角色)
path.data依发行方式而异SSD 路径数据目录(Debian/RPM 包默认 /var/lib/elasticsearch;多路径自 8.0 起移除)
path.logs依发行方式而异自定义日志目录(Debian/RPM 包默认 /var/log/elasticsearch)
network.host127.0.0.1按部署环境绑定绑定地址;0.0.0.0 监听所有网卡,生产须配网络隔离与安全认证
http.port92009200HTTP 端口
transport.port93009300节点间通信端口
discovery.seed_hosts-种子节点地址集群发现种子地址,不必列出所有 master 节点
cluster.initial_master_nodes-首次引导时列出仅用于首次集群引导,引导完成后移除

索引配置 ​

参数默认值说明
number_of_shards1主分片数(创建后不可直接改,需 split/shrink/reindex 调整)
number_of_replicas1副本数(可动态修改)
refresh_interval1s刷新间隔,-1=关闭
translog.durabilityrequestrequest=请求确认前同步 translog,async=异步同步(有丢失窗口)
translog.sync_interval5s异步刷盘间隔
merge.scheduler.max_thread_count自动合并线程数
index.codecdefault压缩算法,best_compression 更高压缩比但 CPU 开销更大

搜索配置 ​

参数默认值说明
max_result_window10000from+size 最大值
max_inner_result_window100inner_hits 的 from+size 最大值
search.max_buckets65536聚合最大桶数
indices.query.bool.max_clause_count动态计算bool 查询最大子句数;8.0 起静态设置已弃用,限制值由 ES 动态计算(最低 1024)

线程池配置 ​

线程池类型默认大小说明
searchfixed(可用处理器数 * 3) / 2 + 1搜索请求
writefixed可用处理器数写入请求(bulk 走此线程池)
getfixed可用处理器数GET 请求

Bulk API 没有独立的 bulk 线程池,写入统一由 write 线程池处理。上表为常见默认值,实际以 GET /_nodes/thread_pool 查询结果为准。

Released under the MIT License.