1. 分布式特性
- ElasticSearch的分布式架构带来的好处
- 存储的水平扩容,支持PB级数据
- 提高系统可用性,部分节点停止服务,整个集群服务不受影响
2. 脑裂问题
- Split-Brain 当出现网络问题,一个节点和其他节点无法连接,在各自的网络环境下,选举为各自主节点
如何避免脑裂问题?
- 限定一个选举条件,设置quorum(仲裁),只有当Master eligible节点数大于quorum时才能进行选举
- quorum=(master节点总数/2)+1,即大多数
- 从7.0开始,无需这个配置
3. 分片与集群的故障转移
- 主分片Primary Shard—提升系统存储容量
- 副本分片Replica Shard—提高数据可用性
- 集群状态get _cluster/_health
- Green健康:主分片与副本分片都可用
- Yellow亚健康:主分片都可用,副本分片部分不可用,如1个节点,分配了3个主分片,1个副本分片则无法分配,因为副本分片必须与主分片不在同一节点
- Red不健康:部分主分片不可用
- 故障转移
- 对于3个主分片与1个副本分片,分布在3个节点上node1: P1 R0 node2: P2 R1 node3: P0 R2,当node1节点出现故障后,则可故障转移node2:P2 R1 R0 node3: P0 R2 P1
4. 文档分布式存储
4.1 文档存储在分片上
PUT order/_doc/1?routing=china
{
...
}
欢迎关注公众号算法小生或沈健的技术博客