写在前面的话: 读书破万卷, 编码如有神
--------------------------------------------------------------------
参考内容:
Elasticsearch 顶尖高手系列 - 快速入门篇, 中华石杉
--------------------------------------------------------------------
主要内容包括:
横向扩容
容错机制
--------------------------------------------------------------------
1Elasticsearch 横向扩容
1.1primary shard 和 replica shard 自动负载均衡
目前情况: 2 个 node, 3 个 primary shard,3 个 replica shard
如果此时给 es 集群增加一个节点 (node),es 会自动对 primary shard 和 replica shard 进行负载均衡
1.2 每个 Node 有更少的 shard, IO/CPU/Memory 资源给每个 shard 分配更多, 每个 shard 性能更好
1.3 扩容的极限, 6 个 shard(3 个 primary shard,3 个 replica shard), 最多扩容到 6 台机器, 每个 shard 可以占用单台服务器的所有资源, 性能最好
--------------------------------------------------------------------
2Elasticsearch 容错机制
2.1master 选举 replica 容错数据恢复
目前 es 集群情况: 3 个 node,9 个 shard(3 个 primary shard,6 个 replica shard)
如果此时 master node 宕机:
因为 Node1 节点宕机了, 所以 primary shard0replica shard1replica shard2 三个 3shard 就丢失了 master node 宕机的一瞬间, primary shard0 这个 shard 就没有了, 此时就不是 active status, 所以集群的状态为 red.
容错第一步: master 选举, 自动选举另外一个 node 成为新的 master, 承担起 master 的责任来:
容错第二步: 新 master 将丢失的 primary shard 的某个 replica shard 提升为 primary shard, 此时 cluster status 会变为 Yellow, 因为所有的 primary shard 都变成了 active status, 但是, 少了一个 replica shard, 所以不是所有的 replica shard 都是 active
容错第三步: 重启故障的 node, new master 节点将会把缺失的副本都 copy 一份到该 node 上去, 而且该 node 会使用之前已有的 shard 数据, 只是同步一下宕机之后发生的改变
此时 es cluster 的状态为 green, 因为所有的 primary shard 和 replica shard 都是 active 状态
--------------------------------------------------------------------
来源: http://www.bubuko.com/infodetail-2499254.html