节点配置

节点配置 #

本章详细介绍 easysearch.yml 中每个节点需要配置的静态设置。这些设置在修改后需要重启对应节点才能生效。

集群级别的动态配置(可通过 _cluster/settings API 在线修改的配置)请参见 集群配置

配置子文档 #

文档涵盖内容
集群与节点cluster.namenode.namenode.rolesnode.attr.*
路径配置path.datapath.logspath.repo
网络配置network.hosthttp.porttransport.port、HTTP 调优、CORS
集群发现discovery.seed_hostscluster.initial_master_nodes、故障检测
网关与恢复gateway.recover_after_*、分片恢复行为
内存与缓存bootstrap.memory_lock、fielddata / query / request 缓存
安全配置security.* TLS、审计、DN、REST API、系统索引保护
JVM 配置jvm.options 堆内存、GC、OOM dump
日志配置log4j2.properties、日志文件、慢日志
线程池与断路器thread_pool.*indices.breaker.*、API 兼容

配置文件一览 #

Easysearch 的配置文件位于安装目录下的 config/ 目录(可通过环境变量 ES_PATH_CONF 自定义)。

文件用途
easysearch.yml节点与集群配置的主文件
jvm.optionsJVM 启动参数(堆大小、GC 等)
log4j2.properties日志配置(级别、格式、输出位置)
config/security/*.yml安全模块本地配置(用户、角色等)

指定配置目录 #

ES_PATH_CONF=/path/to/my/config ./bin/easysearch

使用 systemd、Docker 或自带脚本运行服务时,需在对应的服务配置中设置 ES_PATH_CONF

配置文件格式(YAML) #

easysearch.yml 使用 YAML 格式。几个常用规则:

层级写法 #

path:
  data: /var/lib/easysearch
  logs: /var/log/easysearch

等价的扁平 key 写法:

path.data: /var/lib/easysearch
path.logs: /var/log/easysearch

列表写法 #

多行形式:

discovery.seed_hosts:
  - 192.168.1.10:9300
  - 192.168.1.11
  - seeds.mydomain.com

单行数组形式:

discovery.seed_hosts: ["192.168.1.10:9300", "192.168.1.11", "seeds.mydomain.com"]

环境变量替换 #

easysearch.yml 中可以使用 ${...} 引用环境变量:

node.name:    ${HOSTNAME}
network.host: ${ES_NETWORK_HOST}

环境变量的值会被当作纯字符串读取。如果需要列表效果,可以用逗号分隔:

export SEED_HOSTS="10.0.0.1:9300,10.0.0.2:9300"
discovery.seed_hosts: ${SEED_HOSTS}

配置原则 #

  • easysearch.yml 只放节点本地 / 集群引导配置,保持所有节点上内容简单且一致。
  • 集群级别调优参数通过 集群配置 APIpersistent 方式修改。
  • 切勿将未受保护的节点暴露在公共互联网上!