elasticsearch 分片设计及管理

elasticsearch 分片设计及管理

解决方案goocz2025-06-12 11:30:345A+A-

elasticsearch 从7.0开始默认主分配数从5改成了1。解决查询算分,聚合不准问题。

但是单个分片,集群无法实习水平扩展,无法通过增加节点实现水平扩展。

两个分片:

集群增加一个节点,elasticsearch会自动进行分片的移动,也叫shard rebalancing.

如何设计分片数?

当分片数>节点数时

  • 一旦集群中有数据节点加入,分片会自动进行分配
  • 分片在进行自动分配时,系统不会downtime

多分片的好处:一个索引可以分布在不同的节点,多个节点可以并行执行。

  • 查询可以并行执行。
  • 数据写入可以分散在多个机器。


一些例子:

案例1:每天1GB数据一个索引,一个主分片,一个副本分片,保留半年数据接近360GB数据量,360个分片。


案例2:5个不同的日志,每天创建一个日志索引,每个日志索引创建10个主分片,保留半年数据,

5*10*30*6 = 9000个分片。


分片过多带来的副作用:

如何确定主分片数:

如何确定副本数量:

调整分片总数设定,避免分配不均衡:

ES分片策略尽量保证节点上的分片数大致相同。

  • 扩容的新节点没有数据,导致新索引集中在新节点
  • 热数据过于集中可能会产生新的问题。
点击这里复制本文地址 以上内容由goocz整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

果子教程网 © All Rights Reserved.  蜀ICP备2024111239号-5