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

多VM部署Elasticsearch集群的工作机制及Logstash配置疑问

Elasticsearch 集群数据流转与Logstash输出配置问题解答

问题1:数据发送节点与集群存储决策逻辑

  • 不用刻意指定发送到data或master节点,任意集群节点都能接收客户端的写入/查询请求——接收请求的节点会自动充当协调节点,负责后续的请求转发和结果聚合。
  • 数据存储位置的确定流程:
    1. 协调节点根据文档的_id(或你自定义的路由字段)计算哈希值,确定该文档归属的主分片。
    2. 协调节点从master节点维护的集群元数据中,找到这个主分片所在的data节点,将数据转发过去。
    3. 主分片完成写入后,同步数据到所有副本分片(副本通常分布在其他data节点),全部同步完成后,才向协调节点返回成功响应,最终由协调节点告知客户端请求完成。
  • 补充:专用master节点仅负责集群元数据管理、分片分配决策、集群状态维护,不存储业务数据,也不参与具体的数据读写执行。

问题2:Logstash Output的Hosts配置规则

  • master或data节点的IP都可以填,甚至混合填写也没问题——所有节点都能作为协调节点接收请求并转发。
  • 不需要填写所有节点IP,建议填3-5个节点(比如2个data+1个master):
    • Elasticsearch内置自动发现机制,Logstash连接上任意一个节点后,会自动获取整个集群的节点列表,后续会自动在可用节点间做负载均衡。
    • 只填少数节点是为了避免配置冗余,同时保证单个节点故障时,Logstash能切换到其他配置的节点重新建立连接。
  • 配置示例:
output {
  elasticsearch {
    hosts => ["192.168.1.101:9200", "192.168.1.102:9200", "192.168.1.201:9200"]
    # 其他必填配置如index、user/password等按需添加
  }
}

内容的提问来源于stack exchange,提问作者Gelder Das Geld

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 07:24:19