ElasticSearch6.2.4(5)——ES基础分布式架构

1.分片机制

我们随便将document数据插入到es中。es内部怎么分片,已经帮我们做了document放到哪个primery shard

2.集群发现机制,增加或减少节点时的数据rebalance

我们称一台es服务器为一个node节点
如果我们有3台服务器,有4个primery shard,必定有台服务器有2个primery shard(如图例如P1和P4),现在在es集群中加台服务器,其中P1或P4必定有个到这台新的服务器中

,这样做的话就起到负载均衡的作用


3.es的水平扩容和垂直扩容

垂直扩容:现在有2台服务器,每台只能放1T的数据,当有个2T的数据还是可以平均分配,但当数据变为4T的话,就会将原有的服务器升级为每台能存放2T

水平扩容:依然拿上面的案例,出现上述情况,会增加2台能存放1T的服务器就行了

4.master节点(默认情况下会选出一个节点当master节点)

(1)创建或删除索引

(2)增加或删除节点

5.节点平等的分布式架构

(1)节点对等,每个节点都能接收所有的请求
(2)自动请求路由:任何一个节点接收到请求后,都可以把这个请求自动路由到相关节点上去处理该请求。
(3)响应收集:最原始节点会从其他节点接收响应数据,然后把这些数据返回给客户端。

比如:客户端发送查询数据来到R1(是primery shard1的replica shard),如果R1中没有这个document,那么这个R1会将请求路由到其他shard里面去,如P2,如果在P2找到document了,那么会将document发送到R1中,然后R1再将数据发送给客户端


6.primery shard和replica shard机制
(1)index包含多个shard
(2)每个shard都是一个最小工作单元,承载部分数据,lucene实例,完整的建立索引和处理请求的能力
(3)增减节点时,shard会自动在nodes中负载均衡
(4)primary shard和replica shard,每个document肯定只存在于某一个primary shard以及其对应的replica shard中,不可能存在于多个primary shard
(5)replica shard是primary shard的副本,负责容错,以及承担读请求负载
(6)primary shard的数量在创建索引的时候就固定了,replica shard的数量可以随时修改
(7)primary shard的默认数量是5,replica默认是1,默认有10个shard,5个primary shard,5个replica shard
(8)primary shard不能和自己的replica shard放在同一个节点上(否则节点宕机,primary shard和副本都丢失,起不到容错的作用),但是可以和其他primary shard的replica shard放在同一个节点上

如图:primery shard1和replica在node1台服务器,primery shard2和replica在node2台服务器


7.如何快速了解集群的健康状况?green、yellow、red?
green:每个索引的primary shard和replica shard都是active状态的
yellow:每个索引的primary shard都是active状态的,但是部分replica shard不是active状态,处于不可用的状态
red:不是所有索引的primary shard都是active状态的,部分索引有数据丢失了

猜你喜欢

转载自blog.csdn.net/haozhishang/article/details/80061714