You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elasticsearch集群节点连通、Logstash输出配置及数据接收节点问询

3节点Elasticsearch集群相关问题解答

一、集群内节点互通配置

  • 先确保所有节点网络互通,防火墙放开ES核心端口:TCP 9200(HTTP对外服务端口)、TCP 9300(节点内部传输通信端口)。
  • 所有节点的elasticsearch.yml配置需满足以下要求:
    • cluster.name参数值完全一致,只有相同集群名的节点才会被互相识别
    • discovery.seed_hosts参数填写所有节点的IP/主机名列表,例如3个节点IP为192.168.1.10、192.168.1.11、192.168.1.12,配置为discovery.seed_hosts: ["192.168.1.10", "192.168.1.11", "192.168.1.12"]
    • 首次初始化集群时,cluster.initial_master_nodes参数填写所有具备master资格节点的node.name值,集群启动成功后可移除该配置
  • 若集群开启了安全认证,需保证所有节点的证书、认证账号密码配置一致,节点间通信会进行身份校验。

二、Logstash对接ES集群配置及接收节点选择

1. 接收Logstash数据的节点选择

三类节点的分工不同,接收写入的优先级如下:

  • ingest节点:是最优选择,该类型节点专门负责数据写入前的预处理、流量转发,不会占用master、data节点的核心资源
  • data节点:如果集群没有单独部署ingest节点,可选择data节点接收写入,该类节点本身也支持处理写入请求
  • master节点:绝对不要用来接收业务写入请求,master仅负责集群元数据管理、分片调度等管控工作,负载过高会直接导致集群故障

2. Logstash output配置示例

配置文件参考如下:

output {
  elasticsearch {
    # 填写集群内可接收写入的节点IP:端口列表,建议至少填2个避免单节点故障
    hosts => ["192.168.1.10:9200", "192.168.1.11:9200"]
    # 若ES开启身份认证,配置对应账号密码
    user => "elastic"
    password => "你的ES访问密码"
    # 配置写入的索引名,支持按时间动态生成
    index => "业务日志-%{+YYYY.MM.dd}"
    # 如有自定义ingest处理管道可在此指定
    # pipeline => "自定义pipeline名称"
  }
}

配置多节点hosts后,Logstash会自动对写入请求做负载均衡,不会集中压在单节点上。


内容的提问来源于stack exchange,提问作者Ali farahzadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 20:24:02