ElasticSearch第十八讲 ES-Master节点职责和ES是如何做到数据实时性的

本文详细介绍了Elasticsearch Master节点的职责,包括负责节点间通信、索引分配等,并讨论了如何实现数据实时性,如FileSystem Cache的作用、refresh机制以及flush操作。通过缓存和定时刷新,ES能在保证性能的同时提供近实时的搜索能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Elasticsearch Master 节点的职责

  • 由主节点负责ping 所有其他节点,判断是否有节点已经挂掉
  • 创建或删除索引
  • 决定分片在节点之间的分配

稳定的主节点对集群的健康是非常重要的。虽然主节点也可以协调节点,路由搜索和从客户端新增数据到数据节点,但最好不要使用这些专用的主节点。一个重要的原则是,尽可能做尽量少的工作。

对于大型的生产集群来说,推荐使用一个专门的主节点来控制集群,该节点将不处理任何用户请求。

  • 协调节点(Coordinator Node):该节点只处理路由请求,处理搜索,分发索引文件,相当于一个只能的负载均衡器,协调节点将请求分发给存储数据的Data Node。每个Data Node在本地执行请求,并将请求结果返回给Cooridinator Node 。协调节点收集完数据后,将每个节点的数据合并为单个全局结果。
  • 数据节点(Data Node):存储索引数据的节点,主要对文档进行增删改查、聚合等操作。数据节点对cpu、内存、io要求比较高,在优化的时候需要监控数据节点的状态,当资源不够的时候,需要再集群中添加新的节点。

ES 数据实时性

一个Index由若干段组成,搜索的时候按段搜索,我们索引一条段后,每个段会通过fsync 操作持久化到磁盘,而fsync 操作比较耗时,如果每索引一条数据都做这个full commit(rsync)操作,提交和查询的时延都非常之大,所以在这种情况下做不到实时的一个搜索。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员路同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值