跳到主要内容

ES核心概念

节点

每个节点就是一个ES实例

角色

节点分为若干个角色,包括master节点、candidate节点、data节点等。

  • master节点:当前节点是主节点,负责集群的容灾和选举。
  • candidate节点:候选节点,在master节点宕机时替代master节点。
  • data节点:数据节点,用于存放数据。
    • data_content 数据内容节点
    • data_hot :热节点
    • data_warm :索引不再定期更新,但仍可查询
    • data_cold :冷节点,只读索引
  • ingest节点:预处理节点,类似于Logstash中的builder,用于处理日志数据。
  • ml节点:机器学习节点,用于发现集群中的潜在问题。
  • remote_cluster_client节点:远程集群客户端节点,用于与其他集群进行通信。
  • transform 节点:转换节点
  • voting_only 节点:投票节点,在master选举中拥有投票权。
  • coordinate节点:协调节点,负责消息的转发。

分片

主分片和副本分片:主分片是数据的原始文件,支持读写操作;副本分片是主分片的拷贝文件,支持数据同步。

副本分片的作用:增加数据安全性、提高服务可用性和集群并发查询性能。

每个分片都是一个Lucene实例,有完整的创建索引和处理请求的能力

ES会自动在nodes上做分片均衡

一个doc不可能同时存在于多个主分片中,每个主分片的数据都是不一样的。

索引和文档

索引类似表,文档类似一行记录