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

ES集群规划与调优

需要多大规模的集群,需要从以下两个方面考虑:

  • 当前的数据量有多大?数据增长情况如何?
  • 你的机器配置如何?cpu、多大内存、多大硬盘容量?

推算的依据

  Elasticsearch JVM heap 最大可以设置32G 30G heap 大概能处理的数据量 10 T。如果内存很大如 128G,可在一台机器上运行多个ES节点实例。集群规划满足当前数据规模+适量增长规模即可,后续可按需扩展。

两类应用场景

  • 用于构建业务搜索功能模块,且多是垂直领域的搜索。数据量级几千万到数十亿级别。一般2-4台机器的规模。
  • 用于大规模数据的实时OLAP(联机处理分析),经典的如ELK Stack,数据规模可能达到千亿或更多。几十到上百节 点的规模。

集群中的节点角色如何分配

节点角色: Master node.master: true 节点可以作为主节点 DataNode node.data: true 默认是数据节点 Coordinate node 协调节点,一个节点只作为接收请求、转发请求到其他节点、汇总各个节点返回数据等功能的节 点,就叫协调节点,如果仅担任协调节点,将上两个配置设为false。 说明:一个节点可以充当一个或多个角色,默认三个角色都有

索引应该设置多少个分片

  ElasticSearch推荐的最大JVM堆空间是30~32G, 所以把你的分片最大容量限制为30GB, 然后再对分片数量做合理估 算. 在开始阶段, 一个好的方案是根据你的节点数量按照1.5~3倍的原则来创建分片. 例如,如果你有3个节点, 则推荐你 创建的分片数最多不超过9(3x3)个。当性能下降时,增加节点,ES会平衡分片的放置。 对于基于日期的索引需求, 并 且对索引数据的搜索场景非常少. 也许这些索引量将达到成百上千, 但每个索引的数据量只有1GB甚至更小. 对于这种 类似场景, 建议只需要为索引分配1个分片。如日志管理就是一个日期的索引需求,日期索引会很多,但每个索引存放的日志数据量就很少。


推荐阅读

粒度数据权限控制框架

高性能:为什么说Elasticsearch的倒排表比mySql的B+树查询快呢?

技术总体方案设计思路

Module 2:\u000BIntroduction to UML

http://www.lryc.cn/news/610167.html

相关文章:

  • 进程间通信:管道与共享内存
  • 移动前后端全栈项目
  • 读写分离有那些坑?
  • 16.8 华为昇腾CANN架构深度实战:3大核心引擎解析与性能优化216%秘籍
  • 手搓TCP服务器实现基础IO
  • falsk windows 服务器部署-解决服务器外无法访问
  • javacc学习笔记 02、JavaCC 语法描述文件的格式解析
  • Sklearn 机器学习 数据聚类 肘部法则选择聚类数目
  • 昇思学习营-模型推理和性能优化学习心得
  • MS-DOS 常用指令集
  • 【清除pip缓存】Windows上AppData\Local\pip\cache内容
  • 我的世界进阶模组开发教程——附魔(2)
  • (二)软件工程
  • 论文阅读笔记:《Dataset Distillation by Matching Training Trajectories》
  • 在CentOS 7上安装配置MySQL 8.0完整指南
  • PyTorch :三角函数与特殊运算
  • MFC-Ribbbon-图标-PS
  • 【秋招笔试】2025.08.03虾皮秋招笔试-第二题
  • 蜜汁整体二分——区间 kth
  • Next.js 中的文件路由:工作原理
  • 秋招笔记-8.4
  • 软件需求关闭前的质量评估标准是什么
  • Java项目:基于SSM框架实现的商铺租赁管理系统【ssm+B/S架构+源码+数据库+毕业论文+开题报告+任务书+远程部署】
  • 优化 Unity ConstantForce2D 性能的简单方法【资料】
  • 2025年08月04日Github流行趋势
  • 无偿分享120套开源数据可视化大屏H5模板
  • WSL安装Ubuntu与Docker环境,比VMware香
  • Flutter 对 Windows 不同版本的支持及 flutter_tts 兼容性指南
  • 离线Docker项目移植全攻略
  • Oracle 在线重定义