ElasticSearch shard&replica机制梳理和创建index图解

櫰木1年前技术文章529

1、shard&replica的机制梳理

  1. 1个index包含多个shard。一个shard包含index的部分数据

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

  3. 增减节点,shard会自动在node中进行负载均衡

  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 shard数量默认为1。则默认有10个shard,5个primary shard,5个replica shard

  8. primary shard 不能和自己的replica shard 放置在同一节点上(如果宕机,则该shard的primary shard和replica shard 都会丢失,起不到容错的作用)

2、图解单node环境下创建index是怎么样的

  1. 单node环境下,创建1个index,有3个primary shard ,3个replica shard

  2. 集群状态为yellow

  3. 此时,只会将3个primary shard分配到仅有的一个node上去,另外3个replica shard没有地方分配

  4. 集群可以正常工作,但是一旦出现宕机,集群将会无法提供服务

#创建index
PUT /es_one
{
  "settings": {
    "number_of_shards": 3, 
    "number_of_replicas": 1
  
  }
}
#查看每个shard 的分配
GET /es_one/_shard_stores

image.png

相关文章

HDP部署Tez UI

首先部署tomcat在官网下载apache-tomcat-9.0.22.tar.gz[root@hdp02 opt]# wget https://archive.apache.org/dist/tom...

A集群导入B集群中的高可用版rancher

A集群导入B集群中的高可用版rancher

问题现象:已知在B集群中采用helm方式部署了一个高可用版本的rancher,该rancher中已经配置导入了三套集群,并且三套集群状态在rancher控制台处均显示正常,日常可借助该rancher管...

Nexus 制品管理平台

Nexus 制品管理平台

Nexus 官网:https://www.sonatype.com/nexus-repository-ossNexus 是一个很强大的私服软件,不仅仅是作为 Java 的 Maven 打包使用,同样的...

Elasticsearch数据生命周期如何规划

Elasticsearch中的open状态的索引都会占用堆内存来存储倒排索引,过多的索引会导致集群整体内存使用率多大,甚至引起内存溢出。所以需要根据自身业务管理历史数据的生命周期,如近3个月的数据op...

Python functools 模块

1、reduce 方法reduce 方法,顾名思义就是减少,map reduce 应用:大数据语法: reduce(function, sequence[, initial]) -> value...

MySQL DBA 常用工具 SQL

MySQL DBA 常用工具 SQL

【前言】本篇文章介绍一些 MySQL 管理的实用语句及适用的场景。SQL 基于 MySQL 5.7 版本。1. 长事务事务长时间未提交,即使状态为Sleep也可能造成一些锁等待的问题,使用该查询可以查...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。