1.index 包含多个shard ,在创建index的时候可以自定义shards和replica的数量

例如: 新增一个index,手动指定shard和replica的数量

PUT demo_index
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 1
}
}

添加完成后 GET demo_index 查询index的信息:

{
"demo_index" : {
"aliases" : { },
"mappings" : { },
"settings" : {
"index" : {
"creation_date" : "1612777182130",
"number_of_shards" : "3",
"number_of_replicas" : "1",
"uuid" : "JxC0KweOTZ-eYpLqM2uHXQ",
"version" : {
"created" : "7060099"
},
"provided_name" : "demo_index"
}
}
}
}

ES7之前默认是5个shard,每1个shard都有1个replica

ES7及之后默认是1个shard,每1个shard都有一个replica

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的数量可以随时修改

修改副分片的数量

PUT demo_index/_settings
{
"number_of_replicas":2
}

  修改主分片的数量(报错)

PUT demo_index/_settings
{
"number_of_replicas":2
}

  错误信息如下:

{
"error" : {
"root_cause" : [
{
"type" : "illegal_argument_exception",
"reason" : "Can't update non dynamic settings [[index.number_of_shards]] for open indices [[demo_index/JxC0KweOTZ-eYpLqM2uHXQ]]"
}
],
"type" : "illegal_argument_exception",
"reason" : "Can't update non dynamic settings [[index.number_of_shards]] for open indices [[demo_index/JxC0KweOTZ-eYpLqM2uHXQ]]"
},
"status" : 400
}

7.primary shard的默认数量是5,replica默认是1,默认有10个shard,5个primary shard,5个replica shard(ES7之前是这样,参考第一点)

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

最新文章

  1. PADSPCB权威指南-第三章 预处理(部分)(原创)
  2. MyBatis环境搭建配置文件+入门视频下载
  3. document的createDocumentFragment()方法
  4. 插入图片<img>
  5. ubuntu的目录结构
  6. SQL Server 2005 镜像构建手册
  7. Azure 云助手正式发布
  8. hadoop2.2.0安装
  9. 利用servlet做转发,实现js跨域解决同源问题
  10. pgAdminIII使用图解
  11. X265编译中C2220错误的解决办法
  12. jquery 选择器之children与find
  13. Android - JNI静态(static)载入OpenCV
  14. 浅谈SpringMVC执行过程
  15. 【MySql】join操作
  16. 单例、异常、eval函数
  17. scrapy 框架入门
  18. C#定义只能处理枚举类型的泛型类型
  19. Xilinx FPGA开发环境vivado使用流程
  20. vs技巧总结

热门文章

  1. Git:分支管理
  2. C++多文件结构和预编译命令
  3. 【转载】UML类图中箭头和线条的含义和用法
  4. c++:一个辅助类让内存泄漏现原形!
  5. 【HTB系列】 Lame
  6. 【Azure 云服务】Azure Cloud Service在发布新部署后遇见不能RDP(远程连接)到实例时如何处理?
  7. Python学习笔记 CH1-4:从入门到列表
  8. ClickHouse元数据异常-MySQLHandlerFactory:Failed to read RSA key pair from server
  9. app渗透测试 服务端篇
  10. java实现下载器(以及创建一个URL对象)