ElasticSearch shard&replica机制梳理和创建index图解
1、shard&replica的机制梳理
1个index包含多个shard。一个shard包含index的部分数据
每个shard都是最小的工作单元,承载部分数据,lucene实例,完整的建立索引和请求的能力
增减节点,shard会自动在node中进行负载均衡
primary shard和replica shard,每个document只存在于某一个primary shard对应的replica shard中,不可能存在多个primary shard中
replica shard和primary shard 负责容错和承担请求负载
primary shard 的数量在建立索引时就确定了,replica shard的数量可以随意改动
primary shard 默认数量时5,replica shard数量默认为1。则默认有10个shard,5个primary shard,5个replica shard
primary shard 不能和自己的replica shard 放置在同一节点上(如果宕机,则该shard的primary shard和replica shard 都会丢失,起不到容错的作用)
2、图解单node环境下创建index是怎么样的
单node环境下,创建1个index,有3个primary shard ,3个replica shard
集群状态为yellow
此时,只会将3个primary shard分配到仅有的一个node上去,另外3个replica shard没有地方分配
集群可以正常工作,但是一旦出现宕机,集群将会无法提供服务
#创建index PUT /es_one { "settings": { "number_of_shards": 3, "number_of_replicas": 1 } } #查看每个shard 的分配 GET /es_one/_shard_stores