zoukankan      html  css  js  c++  java
  • Elasticsearch技术解析与实战(四)shard&replica机制

    序言

    shard&replica机制

    1.index包含多个shard

    2.每个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放在    同一个节点上

    单node环境下创建index

    (1)单node环境下,创建一个index,有3个primary shard,3个replica shard
    (2)集群status是yellow
    (3)这个时候,只会将3个primary shard分配到仅有的一个node上去,另外3个replica shard是无法分配的
    (4)集群可以正常工作,但是一旦出现节点宕机,数据全部丢失,而且集群不可用,无法承接任何请求

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

     2个node环境下replica shard是如何分配的

    1.replica shard分配:3个primary shard,3个replica shard,1 node

    2.primary ---> replica同步

    3.读请求:primary/replica

  • 相关阅读:
    Python实现快排
    numpy基础篇-简单入门教程2
    Python 基本语法
    numpy基础篇-简单入门教程1
    Markdown编辑器 常用语法
    Git学习笔记 2,GitHub常用命令
    Git学习笔记 1,GitHub常用命令1
    交通 数据集
    杭电oj 求绝对值
    杭电oj 计算两点间的距离
  • 原文地址:https://www.cnblogs.com/cnki/p/7497222.html
Copyright © 2011-2022 走看看