一、ES 根底概念
1. 简单的分布式机制,比方分片、正本、负载平衡等等,全副都暗藏起来
2. 扩容计划(垂直扩容、程度扩容)
3. 减少或者缩小节点时的数据 rebalance:总有某些服务器的负载会重一些,承载的数量和申请量会大一些
4.mater 节点:
(1)治理 es 集群的元数据, 比如说索引的创立和删除, 保护索引元数据; 节点的减少和移除,保护集群的元数据
(2)默认状况下,会主动抉择出一台节点,作为 mater 节点
(3)mater 节点不承载所有的申请,所以不会是单点瓶颈
5. 节点对等的分布式架构
(1)节点对等,每个节点都能接管所有的申请
(2)节点的主动路由
二、shard 和 replica 机制详解
- index 蕴含多个 shard
- 每个 shard 都是一个最小工作单元,承载局部数据
- 增减节点时,shard 会主动的 nodes 中负载平衡
- 每个 document 只能存在于一个 primary shard 中。
- replica shrad 是 primary shard 的正本,负责容错以及承当读申请负载
- primary shard 的数量再创立索引的时候就固定了,replica shard 的数据能够随时更改
- replica shard 不能和 primary shard 放在同一个节点上,然而能够和别的 primary shard 的 replica shard 放在同一个节点
三、指定 index 的 primary shard 的数量
PUT /test_index
{
"settings":{
"number_of_shards":3,
"number_of_replicas":1
}
}
四、容错的过程
当有一个 node 宕机,这个机器上的某个 primary shard 就没了,此时 status 就不是 active,状态也会批改成 red。
(1) 容错第一步:mater 选举,主动抉择另一个 node 成为新的 mater,承当起 master 的责任
(2) 容错第二步:新的 master,将失落掉的 primary shard 的某个 replica shard 晋升为 primary shard,此时 cluster status 会变为 yellow,因为 primary shard 全副都变成了 active。然而少了一个 replica shard, 所以不是所有的 replica shard 都是 active
(3) 容错第三步:重启故障的 node,新的 mater 会将缺失的正本都时 copy 一份到该 node 上,而且该 node 会应用之前已有的 shard 数据,只是同步一下宕机之后产生过的批改。cluster status 变为 green。