集群、节点、分片

节点

每个节点就是一个Elasticsearch的实例

节点角色

  1. master:候选节点,主节点和其宕机之后的可以替换的从节点都有master角色
  2. data:数据节点,剩下的节点是数据节点,需要存储数据
    1. data_content:普通的数据节点
    2. data_hot:热数据节点,经常会被访问的
    3. data_warm:索引不在定期更新的节点,仍然可以查询
    4. deta_code:冷节点,只读索引,很少被访问
  3. ingest:预处理节点,相当于logstash的filter,就是管道的入口
  4. ml:机器学习节点,发现潜在问题
  5. remote_cluster_client:候选客户端节点
  6. transform:转换节点
  7. voting_only:仅投票节点

分片

  1. 建一个倒排索引可以拥有多个分片,在7.0之前默认五个分片,每个分片一个副本。
  2. 没一个节点是一个Elastic的实例,每一个分片可以看做lucene的实例
  3. es会在自动帮我们在集群负载分片和它们的副本(分片均衡)
  4. 同一个doc不能存在多个分片中,这也是数据分片的意义,多个副本中倒是重复的
  5. 分片和其副本不能在同一个节点上,所以最低可用的配置是两个节点主备分片。

集群

多个node组成的分布式的系统

  1. es原生分布式的,数据分布在不同node上