ElasticSearch入门级教程(二):分布式集群及ES分片

ES以分布式集群的形式工作,具备高可用。可扩展的特性。集群扩展的方式可以是购买更好的服务器(纵向扩展(vertical scale or scaling up))或者购买更多的服务器(横向扩展(horizontal scale or scaling out))

1.集群健康

同一个集群有相同的 cluster.name,通过GET /_cluster/health查看,集群的健康状态有三种:
green - 一切都很好(集群功能齐全)
yellow - 所有数据均可用,但尚未分配一些副本(群集功能齐全)
red - 某些数据由于某种原因不可用(群集部分功能)

截图中为red,因为我停掉了一个节点,其余返回值

{ “cluster_name” : “es-syq”, <集群名称>
“status” : “red”, <集群状态>
“number_of_nodes” : 1, <集群所有节点数>
“number_of_data_nodes” : 1, <集群所有数据节点数>
“active_primary_shards” : 29, <集群所有索引的主分片数>
“unassigned_shards” : 22, <未分配的分片数>
在这里插入图片描述

2.关于分片

分片是ES中最小的存储单元。数据存储在分片中,分片分配在节点上。ES会平衡分片在各节点的合理分配,无论集群扩容或缩容,ES会自动感知并移动分片,这一过程用户是无感的。
分片包括主分片和复制分片。复制分片除了具有容灾性外,还提供可读的能力。主分片的数量是固定的(创建索引完成之后),复制分片可以再进行调节。

单节点情况:存在3个主分片,此时应该有3个对应的复制分片,但由于只有1个节点存活,故复制分片未分配,此时为yellow
在这里插入图片描述
现在扩展1个节点,ES会感知增加了1个节点,将复制分片分配到新节点上
在这里插入图片描述
再扩展一个节点,ES会将主、复分片均衡分配到三个节点上,且主复分片不会在同一个节点上。
在这里插入图片描述
现在我们关闭第一个节点,模拟机器故障,如图已置灰。如果该节点又是master节点,那么ES首先要做的是选主,然后找到该节点上主分片S1/S2对应的复制分片C1/C2,将其升级为主分片。这一过程是瞬时完成的
在这里插入图片描述
此时集群也就相当于下图,只有S3分片还有复制分片,但是主分片是齐全的,不会影响查询
在这里插入图片描述

之后,如果故障节点恢复,集群仍会重新利用之前的分片,会从其他正常分片复制故障期间的数据变更的部分。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空城雀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值