5、集群 节点 索引 分片 副本

节点node

我们可以简单的理解为一个es运行实例就是一个节点。

当你启动一个es的时候,就运行了一个节点。

备注:其实在实际生产服务器环境部署中,一台服务器只会部署一个es。因为es特别耗cpu和内存,所以多个节点的部署会造成服务器资源抢占,反而降低了es的性能。

 

集群cluster

集群顾名思义就是多个相同集群名称的es节点组合在一起。相当于一个集群就是一个班级,班级下面的学生就是节点。

如果只有一个节点在运行就称为单节点。

 

索引index

索引就类似于关系型数据库的数据库,我们把数据库建立好,然后就把数据存到index中。

一个es(单节点或者集群)可以有很多个索引

 

分片shard

因为ES是个分布式的搜索引擎, 所以索引通常都会分解成不同部分, 而这些分布在不同节点的数据就是分片,一个分片只存储一部分数据,所有分片加起来就是一个完整的索引数据。

分片分为primary shard主分片和replica副本分片。

必须创建主分片,副本分片可以没有。

一个索引可以创建多个分片数量,es默认创建的就是5个主分片数量,可以根据自己的实际业务确定主分片数量,但是需要注意的是主分片数量一旦确定创建就无法进行修改。

 

副本replica

副本顾名思义就是主分片primary shard的备份副本,如果主分片有3个,那么一个副本replica就对应有1X3=3个replica shard副本分片。

副本分片数量计算公式 = 副本数量repilca num X 主分片数量primary shard num

一个索引的所有分片数量计算公式=副本数量repilca num X 主分片数量primary shard num + 主分片数量 primary shard num

比如:一个索引有3个主分片,两个副本,那么就有6个副本分片。

一个索引可以创建0-N个副本,es默认创建的副本数量为1。

replica副本就是es高可用和快速响应搜索的关键。

 

分片与副本的关系

每个主分片(primary shard)不会和副本分片(replica shard)存在于同一个节点中,有效的保证es的数据高可用性。

例如1:比如一个索引有3个分片和1副本,那么一共就有3*2=6个分片,3个是主分片,3个是副本分片,每个主分片都会对应一个副本分片。

例如2:只有2个节点,但是有3个分片和2个副本,这样的情况就会导致分片无法完全分配,因为主分片和副本分片不能存在于同一个节点中。

 

集群的健康状态

当我们集群部署es的时候,集群都会有一个健康状态,好比人生病一样。根据不同的健康状态我们可以看到es存在一些什么问题。

green

所有的主分片(primary shard)和副本分片(replica shard)都已经分配到了节点上

yello

所有的主分片都分片到了节点上,不是所有的副本分片都分配到节点上

red

不是所有的主分片和副本分片都分配到了节点上

 

当集群出现yello和red情况的时候,就会出现undesigned shard未分配的分片。

 

 

转载于:https://my.oschina.net/kenblog/blog/3009800

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值