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

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.xdnf.cn/news/15496.html

相关文章:

  • Pandas-数据清洗与处理
  • 构建可落地的企业AI Agent,背后隐藏着怎样的技术密码?
  • redis汇总笔记
  • 什么时候需要用到 multiprocessing?
  • 基于 CentOS 7 的 LVS+DR+Web+NFS 旅游攻略分享平台部署
  • 【RA-Eco-RA6E2-64PIN-V1.0 开发板】ADC 电压的 LabVIEW 数据采集
  • 【读书笔记】《Effective Modern C++》第六章 Lambda Expressions
  • Windows 常用命令
  • vue防内存泄漏和性能优化浅解
  • 如何自动化处理TXT日志,提升工作效率新方式
  • RabbitMQ队列的选择
  • 03.Python 字符串中的空白字符处理
  • Springboot实现一个接口加密
  • 华为交换机 undo negotiation auto功能(华为交换机端口接光纤两端起不来)
  • 【Complete Search】-基础完全搜索-Basic Complete Search
  • JAVA 项目工程化实践
  • fatal: active `post-checkout` hook found during `git clone`
  • v-for中key值的作用:为什么我总被要求加这个‘没用的‘属性?
  • 大小为 K 且平均值大于等于阈值的子数组数目
  • “找到一个或多个多重定义的符号“(LNK2005 或 LNK1169)
  • 006_测试评估与安全实践
  • 深入理解 LangChain:AI 应用开发的全新范式
  • 面试150 填充每个节点的下一个右侧节点指针Ⅱ
  • 第一个Flink 程序 WordCount,词频统计(批处理)
  • ReAct论文解读(1)—什么是ReAct?
  • AI大模型计数能力的深度剖析:从理论缺陷到技术改进
  • Java行为型模式---观察者模式
  • macOS - Chrome 关闭自动更新
  • c语言初阶 结构体
  • 基于Flink的实时开发平台-Dinky