# elasticsearch集群

elasticsearch学习笔记 - 集群相关术语

基本概念

  1. Cluster:集群。
    顾名思义就是好多es服务器,拜了把子成了兄弟,在一起搞事情,他们讲义气不背叛,一个有难八方支援。比如你有8台服务器,其中一台挂了,剩余的兄弟会立刻顶上。客户让然可以正常使用你的服务,从而实现高可用性

  2. Node:节点。
    集群中的每台服务器称之为一个节点。每个节点都是一个兄弟。既然拜了把子,那就有个长幼顺序(节点类型),这个看下面的节点类型小节,先看分片。

  3. Shard:分片。
    一只烤全羊,一个人肯定吃不了,怎么办呢?大家分着吃啊。所以就有了分片,大量的数据汇聚过来,一个节点可能由于内存或磁盘处理能力不足,那就把数据切成一小块一小块的(这就是分片),好几个兄弟一起处理。每个分片放到不同的服务器上。 这样处理起来就快了。
    有肉一起吃,敌人来了当然也要一起扛。当有查询过来的时候,ES会把查询发送给每个相关的分片,并将结果组合在一起,然后返回给用户。

  4. Replia:副本。
    分着吃羊肉,羊是吃完了,但每个人分到的不一样啊,有人吃羊腿,有人吃羊尾巴,显然这样长期下去也是不行的。怎么办呢,再来一只,吃羊腿的再吃羊尾巴,吃羊尾巴的再吃羊腿,这样就公平了。每个人都能说出整只羊各个部位是什么味道。
    同样的道理,数据分片,放在了不同的节点上,如果一台服务器挂掉了,那岂不是数据就丢失了,这种事是不允许发生的,因此就有了副本。每个切片复制一份,发送给其他节点。这样保证每个节点有完整的数据。集群中有一台宕机了也不影响使用。