ElasticSearch 8是否有conf.d文件夹?无需修改elasticsearch.yml改配置
Elasticsearch 8 独立配置文件加载方案
你没忽略什么,Elasticsearch确实支持加载额外目录下的自定义配置,只是它不像Nginx、MySQL那样默认就有conf.d目录,需要你手动配置开启这个功能:
具体步骤
- 首先创建自定义配置目录:
mkdir -p /etc/elasticsearch/conf.d - 编辑主配置文件
/etc/elasticsearch/elasticsearch.yml,在文件末尾添加以下内容,告诉Elasticsearch加载这个目录下的所有YAML配置文件:
如果你只想加载特定后缀的文件(比如只认!include_dir /etc/elasticsearch/conf.d.yml),可以改成:!include_dir /etc/elasticsearch/conf.d/*.yml - 在
conf.d目录下创建你的自定义配置文件,比如network-config.yml,写入需要修改的配置项:network.host: 0.0.0.0 # 这里可以添加其他你需要的配置,比如http.port、discovery.seed_hosts等 - 修复配置文件的权限,确保Elasticsearch进程能读取:
chown -R elasticsearch:elasticsearch /etc/elasticsearch/conf.d chmod -R 640 /etc/elasticsearch/conf.d - 最后重启Elasticsearch服务,配置就会生效:
systemctl restart elasticsearch
注意事项
- 配置优先级:如果主配置文件和
conf.d里的文件有同名配置项,加载顺序靠后的会覆盖前面的。所以把!include_dir放在主配置末尾,就能让自定义配置覆盖默认配置。 - YAML格式规范:
conf.d里的文件必须是合法的YAML格式,否则会导致Elasticsearch启动失败。 - 集群配置注意:修改
network.host这类核心配置后,可能需要同步调整discovery.seed_hosts或cluster.initial_master_nodes,否则单节点或集群可能无法正常启动。
内容的提问来源于stack exchange,提问作者Dr. Gianluigi Zane Zanettini
相关产品推荐
相关产品推荐

