(29)ElasticSearch分片和副本机制以及单节点环境中创建index解析
1、分片和副本机制
1、index包含多个shard
2、每个shard都是一个最小工作单元,承担部分数据;每个shard都是一个lucene示例,有完整的建立索引和处理请求的能力
3、增减节点时,shard会自动在nodes中负载均衡
4、primary shard和replica shard,每个document只存在于某个primary shard以及其对应的replica shard中,不可能存在于多个primary shard
5、replica shard是primary shard的副本,负责容错,以及承担读请求负载
6、primary shard的数量在创建索引的时候就固定了,replica shard的数量可以随时修改。
7、primary shard的默认数量是5,replica默认是1,(总共默认有10个shard,5个primary shard,5个replica shard)
8、primary shard不能和自己的replica shard放在同一个 节点上(否则节点宕机,primary shard和副本都丢失,起不到容错的作用,
但是可以和其它primary shard的replica shard放在同一个节点上)
2、单节点环境下创建索引分析
PUT /myindex{"settings":{"number_of_shards":3,"number_of_replicas":1}}
这个时候,只会将3个primary shard分配到仅有的一个node上去,另外3个replica shard无法分配(一个shard的副本replica,它们两个是不能在同一个节点的)。集群不健康,但是可以正常工作,一旦出现节点宕机,数据全部丢失,而且集群不可用,无法接收任何请求。