ElasticSearch集群内存占用高?如何降低内存占用看这篇文章就够啦!(冻结索引)_es占用内存太大(1)

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  1. 解冻特别注意:在再次冻结索引之前,一定要运行“force_merge”,以确保最佳性能。
  2. 解冻后,该索引将重新启用新的文档写入,并恢复正常的搜索和读取操作。

三、搜索冻结索引

  1. 索引被冻结后如果按照之前的查询语句请求数据是拿不到数据的,示例如下:

冻结索引

### Elasticsearch 集群部署教程与最佳实践 #### 一、规划集群规模和硬件需求 对于Elasticsearch集群而言,合理的硬件资源配置至关重要。如果应用场景涉及大量全文检索操作,则建议为每台节点分配4到32GB的内存ES进程本身,并预留足够的操作系统文件系统缓存空间用于存储Lucene段文件[^4]。 #### 二、选择合适的网络拓扑结构 构建可用性的Elasticsearch集群时,推荐采用多主节点设计来增强系统的稳定性和容错能力。通常情况下,至少设置三个以上的master-eligible节点以确保选举过程顺利进行并防止脑裂现象发生[^3]。 #### 三、配置数据节点角色分离策略 为了实现更好的负载均衡效果,在大型生产环境中应当区分不同类型的节点职责:专门设立协调(coordinating-only)、热(hot)、温(warm)、冷(cold)以及冻结(frozen)等特定用途的数据处理单元。这种做法有助于针对不同类型的工作负载实施差异化的资源管理措施[^1]。 #### 四、调整JVM堆栈大小及其他参数设定 适当调节Java虚拟机(JVM)的最大堆尺寸(-Xmx/-Xms),一般不超过物理RAM总量的一半;同时开启压缩指针选项(-XX:+UseCompressedOops),减少对象头开销。此外还需关注垃圾回收(GC)算法的选择及其相关阈值控制,避免长时间停顿影响服务连续性。 #### 五、优化索引映射定义及文档模型设计 鉴于Elasticsearch并非传统关系型数据库的事实,在创建索引模板时应尽量扁平化字段层次结构,即尽可能去规范化(denormalization)原始记录格式。虽然nested类型允许嵌套复杂JSON对象,但其查询效率远低于简单数组形式;而parent-child关联方式则可能导致性能下降更为明显,因此除非必要否则不提倡使用这两种特性[^2]。 ```json PUT my_index/_mapping { "properties": { "tags": { "type": "keyword" }, "title": { "type": "text", "analyzer": "standard" } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值