Elasticsearch(九)Elasticsearch 核心概念回顾及单 Node 环境下创建 Index

核心概念
  1. 一个 Index 包含多个 shard
Elasticsearch(九)Elasticsearch 核心概念回顾及单 Node 环境下创建 Index_第1张图片
  1. 每个 shard 都是一个最小工作单元,承载部分数据,每个 shard 都是一个 Lucune 实例,具备完整的建立索引和处理请求的能力

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

  3. 每个 document 肯定只存在某一个 primary shard 以及其对应的 replica shard中,不可能存在于多个 primary shard

  4. replica shard 是 primary shard 的副本,负责容错,以及承担读请求负载

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

  6. primary shard 默认数量是 5,replica shard 默认是 1,所以默认有 10 个 shard,5 个 primary shard,5 个 replica shard

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

Elasticsearch(九)Elasticsearch 核心概念回顾及单 Node 环境下创建 Index_第2张图片
单 Node 环境下创建 Index
  1. 单 node 环境下,创建一个 index,有 3 个 primary shard,6 个 replica shard
PUT /test_index?pretty
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 2
  }
}

查询集群中的节点:

GET _cat/indices?v

返回结果:

health status index      uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   test_index ktCoIrQfRZu7mAQdBL0qWA   3   2          0            0       486b           486b
yellow open   store      EDY69rraR-G2U5njlwCpwg   5   1          4            0     22.4kb         22.4kb
yellow open   .kibana    ZNJy2-qsRGehTmaYqDF_FQ   1   1          1            0      3.2kb          3.2kb
  1. 集群 status 是 yellow

  2. 这个时候,只会将 3 个 primary shard 分配到仅有的一个 node 上去,另外3个 replica shard 是无法分配的(primary shard 不能和 replica shard 在同一个 node 上)

  3. 集群可以正常工作,但是一旦出现节点宕机,数据全部丢失,而且集群不可用,无法承接任何请求,所以最小的高可用配置是 2 台服务器

你可能感兴趣的:(Elasticsearch(九)Elasticsearch 核心概念回顾及单 Node 环境下创建 Index)