10.shard、replica机制及单node下创建index

主要知识点

   

1shard&replica机制梳理

2、单node环境下创建index的情况

   

1shard&replica机制再次梳理

   

1index包含多个shard,也就是说,如果一个index3T的数据,每个服务器都是1T的容量,es会把这个index自动分配到3个shard上。

2)每个shard都是一个最小工作单元,承载部分数据,每个shrard都是一个lucene实例,都有完整的建立索引和处理请求的能力

3)增减节点时,shard会自动在nodes中负载均衡

4shard分两种:primary shardreplica shard,每个document肯定只存在于某一个primary shard以及其对应的replica shard中,不可能存在于多个primary shard中。

5replica shardprimary shard的副本,负责容错,以及承担读请求负载。

6primary shard的数量在创建索引的时候就固定了,replica shard的数量可以随时修改

7primary shard的默认数量是5replica默认是1,默认有10shard5primary shard5replica shard,在创建index 时primary shard已定义,定义之后就不能更改。replica shard 可以更改。

8primary shard不能和自己的replica shard放在同一个节点上(否则节点宕机,primary shard和副本都丢失,起不到容错的作用),但是可以和其他primary shardreplica shard放在同一个节点上

   

2、单node环境下创建index的情况

   

1)单node环境下,创建一个index,有3primary shard3replica shard

2)这个时候,只会将3primary shard分配到仅有的一个node上去,另外3replica shard是无法分配的,集群状态statusyellow.

3)集群可以正常工作,但是一旦出现节点宕机,数据全部丢失,而且集群不可用,无法承接任何请求
设置语法:

   

PUT /test_index

{

"settings" : {

"number_of_shards" : 3, # 3primary shard

"number_of_replicas" : 1 # 每个primary shard的replica shard 为1,这样就有3个primary shard.

}

}

posted @ 2018-02-09 09:07  outback123  阅读(160)  评论(0编辑  收藏  举报