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

櫰木1年前技术文章717

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

相关文章

Linux高并发Nginx配置优化

在日常的运维工作中,经常会用到nginx服务,也时常会碰到nginx因高并发导致的性能瓶颈问题。一般来说nginx配置文件中对优化比较有作用的主要有以下几项:1)nginx进程数,建议按照cpu数目来...

MySQL运维实战之ProxySQL(9.9)proxysql自身高可用

MySQL运维实战之ProxySQL(9.9)proxysql自身高可用

proxysql作为一个程序,本身也可能出现故障。部署proxysql的服务器也肯能出现故障。高可用架构的一个基本原则是消除单点。可以在多个节点上部署proxysql,在proxysql之前再加一层负...

Helm部署

Helm部署

1、helm介绍在没使用helm之前,向Kubernetes部署应用,需要依次部署deployment、svc等,步骤教繁琐,况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,he...

在K8S上使用Clickhouse

介绍clickhouse是一款开源的分析型数据库,性能强大。本文介绍如何在K8S环境中部署和使用clickhouse。我们使用开源的clickhouse operator: https://githu...

华为云SQLServer 慢日志查看

华为云SQLServer 慢日志查看

一、背景华为云目前只支持 SQLServer 登录数据库,不支持查看慢日志。对于开启慢日志的实例,也只能通过将慢日志下载到本地 再远程连接目标实例数据库查看。本篇将华为云 SQLServer 实例出现...

hive 报 找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster

hive 报 找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster

解决办法:关键需要配置两个配置:mapred-site.xml 和 yarn-site.xml下面配置hadoop classpath。先运行shell命令:hadoop classpath添加一个配...

发表评论    

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