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

櫰木2年前技术文章1366

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

相关文章

DBMS_SESSION包跟踪10046

注意:DBMS_SESSION包:只能跟踪当前会话,不能指定会话DBMS_SESSION.SET_SQL_TRACE=ALTER SESSION SET SQL_TRACE; =ALTER SESSI...

docker常用的操作总结

docker常用的操作总结

一、容器状态管理命令1.docker ps # 查看正在运行的容器             2.docker ps -a #查看当前所有容器             3.docker stop 容器名...

TCP短连接和长连接

TCP短连接和长连接

     当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的,...

cattle-cluster-agent产生的僵尸进程处理

cattle-cluster-agent产生的僵尸进程处理

现象zabbix告警服务器存在僵尸进程排查步骤1、登陆服务器使用top命令,确认下僵尸进程数量。2、使用ps -aux | grep Z命令,过滤出僵尸进程PID。3、根据查到的PID,借助ps命令,...

百万并发下的nginx优化

百万并发下的nginx优化

百万并发下的nginx优化之道一、nginx地址重写1、nginx地址重写(rewrite)介绍nginx地址重写的主要功能是实现URL地址的重定向。服务器获得一个来访的URL请求,然后改写成服务器可...

MySQL 查询 Binlog 生成时间

MySQL 查询 Binlog 生成时间

描述本 SOP 介绍如何查询 Binlog 的生成时间。云上 RDS 有日志管理,但是自建实例没有,该脚本可用于自建实例闪回定位 Binlog 文件。脚本介绍通过读取 Binlog FORMAT_DE...

发表评论    

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