当前位置: 首页 > news >正文

es里的node和shard是一一对应的关系吗,可以多个shard分配到一个node上吗

不是一一对应关系,一个Elasticsearch node上可以分配多个shard

详细解释

1. 概念
  • Node:Elasticsearch 集群中的单个服务器(进程)。
  • Shard:Elasticsearch 索引的分片。一个索引会被切分成若干个shard,每个shard实际就是一个Lucene实例,存储部分数据。
2. 分配关系
  • 并不是一一对应。如下:
    • 一个node可以承载多个shard。
    • 一个shard只能位于一个node(即一个shard的“主本体”不会在多个node上,副本见下)。
    • 通常我们把一份数据索引分成若干个shard后,Elasticsearch会将这些shard分布到集群中的多个node上以达到数据分布和并行能力的目的。
    • 为了高可用,每个shard还可以有replica(副本),副本也会分配到其它node上(不会和主本体在一个节点)。
3. 举个例子

假设你有3台机器(3个node),你把索引分成5个shard(主分片),并每个分片1个副本。

  • 15个shard(5主5副本=10)分布在3个node上,每个node上可以有若干shard。
  • 也就是说,一个node可以有多个shard(来自同一个index或者不同index)
4. 典型应用场景
  • 在小型集群,只有几台机器时,shard数通常大于node数,所以必然多个shard分布在同一个node上。
  • 比如:3个node,9个shard,则每个node大致有3个shard。
  • 在Elasticsearch实际生产环境,一个node通常承载几十上百个shard,这完全正常。

总结

  • es里的node和shard不是一一对应关系
  • 一个node上可以分配多个shard。
http://www.dtcms.com/a/277040.html

相关文章:

  • 板凳-------Mysql cookbook学习 (十一--------9)
  • 什么时候需要用到 multiprocessing?
  • Java集合框架深度解析:LinkedList vs ArrayList 的对决
  • 完整 Spring Boot + Vue 登录系统
  • 决策树学习
  • Spring Cloud Gateway 实战指南
  • 设计模式深度解析:单例、工厂、适配器与代理模式
  • 基于 Python 的深度学习音乐推荐系统设计与实现
  • LLM对话框项目总结II
  • Maven 构建命令
  • RedisJSON 的 `JSON.ARRAPPEND`一行命令让数组动态生长
  • vue防内存泄漏和性能优化浅解
  • CSS中@media介绍和使用示例
  • 7.13 note
  • 型模块化协作机器人结构设计cad【1张】三维图+设计说明书
  • 机器人猫咪能否温暖中老年孤独
  • 【Complete Search】-基础完全搜索-Basic Complete Search
  • 摩尔线程MUSA架构深度调优指南:从CUDA到MUSA的显存访问模式重构原则
  • Java: OracleHelper
  • Appium源码深度解析:从驱动到架构
  • Vue3 实现文件上传功能
  • HarmonyOS组件/模板集成创新活动-开发者工具箱
  • Vue配置特性(ref、props、混入、插件与作用域样式)
  • FusionOne HCI 23 超融合实施手册(超聚变超融合)
  • 第七章 算法题
  • NO.4数据结构数组和矩阵|一维数组|二维数组|对称矩阵|三角矩阵|三对角矩阵|稀疏矩阵
  • 电源中的声学-噪声,如何抑制开关电源的噪声
  • 飞算JavaAI:开启 Java 开发 “人机协作” 新纪元
  • 二叉树算法详解和C++代码示例
  • 项目合作复盘:如何把项目经验转化为可复用资产