九、Elasticsearch shard和replica机制再次梳理以及单node环境中创建index

1、shard机制再次梳理

(1)index包含多个shard

九、Elasticsearch shard和replica机制再次梳理以及单node环境中创建index_第1张图片
Paste_Image.png

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

九、Elasticsearch shard和replica机制再次梳理以及单node环境中创建index_第2张图片
Paste_Image.png

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

(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 放在同一节点上

九、Elasticsearch shard和replica机制再次梳理以及单node环境中创建index_第3张图片
Paste_Image.png

2、单node环境下创建index是什么样子的

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

PUT /test_index
{
  "settings" : {
    "number_of_shards" : 3,
    "number_of_replicas" : 2
  }
}

(2)集群status是yellow

(3)这个时候,只会将3个primary shard分配到仅有的一个node上去,另外3个replica shard是无法分配的(primary shard不能和replica shard同一台服务器,负责容错)

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

若有兴趣,欢迎来加入群,【Java初学者学习交流群】:458430385,此群有Java开发人员、UI设计人员和前端工程师。有问必答,共同探讨学习,一起进步!
欢迎关注我的微信公众号【Java码农社区】,会定时推送各种干货:


九、Elasticsearch shard和replica机制再次梳理以及单node环境中创建index_第4张图片
qrcode_for_gh_577b64e73701_258.jpg

你可能感兴趣的:(九、Elasticsearch shard和replica机制再次梳理以及单node环境中创建index)