Jast blog Jast blog
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档

Jast-zsh

如果你知道你要去哪里,全世界都会给你让路。
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
  • ElasticSearch单机版安装
  • ElasticSearch7集群安装
  • ElasticSearch-Head浏览器插件离线安装
  • ElasticSearch-SQL浏览器离线插件安装
  • ElasticSearch快照脚本
  • ELasticSearch监控之Cerebro
  • Elasticsearch-SQL
  • ElasticSearch优化指南
  • ElastiSearch Merger
    • Elasticsearch Pipeline 详解
    • ElasticSearch正确的重启方式
    • ElasticSearch查询模板Mustache
    • ElasticSearch索引模板
    • ElasticSearch集群快照
    • ElasticSearch集群修改密码
    • 深入理解ElasticSearch慢查询日志
    • ElasticSearch Kibana白金级破解
    • ElasticSearch API查看集群状态
    • ElasticSearch DSL操作
    • ElasticSearch Script操作数据
    • ElasticSearch中副本和分片如何优化?
    • Docker安装ElasticSearchDump备份数据
    • ElasticSearch使用Grafana监控服务状态
    • Grafana配置ElasitcSearch监控-独立部署版本
    • ElasticSearch批量修改报错
    • ElasticSearch数据版本冲突
    • ElasticSearch索引_cat统计数量与_count统计数量不一致
    • Kibana使用Nginx反向代理设置提示404
    • ElasticSearch优化之线程池介绍
    • 当ElasticSearch时间字段设置多个格式到底是用的哪个?
    • 《ElasticSearch教程》笔记
    Jast-zsh
    2022-09-27
    目录

    ElastiSearch Merger

    [toc]

    根据ES的写入原理分析,默认每秒从memory buffer里面搬运数据到filesystem cache,生产一个segments段,由后台程序定期分梯队进行合并(该部分原理还没深入研究),不过从查看到的segments数量,大小来看,默认的合并效果并不好,会出现很多小segments没有合并。根据操作系统的原理,一个索引打开太多的文件,势必会影响性能,ES也开放了相应的接口给用户对这些segments经行手动合并。

    下面介绍一下forcemerge相关命令

    # 执行合并segment

    计算规则(参考):按照每个segment 5GB 来评估 max_num_segments,根据实际情况,比如 index最大的分片5gb,max_num_segments就是1.

    max_num_segments取值为:max_num_segments =(单个索引的大小G/分片数/5G)

    建议每天业务低峰进行一次

    POST indexname/_forcemerge?max_num_segments=1
    
    1

    参数说明:

    参数 说明
    max_num_segments 合并到的段数。要完全合并索引,请将其设置为1。默认值是简单地检查是否需要执行合并,如果需要,则执行合并。
    only_expunge_deletes 合并过程应该只删除其中有删除的段。在Lucene中,不会从段中删除文档,而只是将其标记为已删除。在段的合并过程中,将创建一个没有这些删除的新段。此标志仅允许合并具有删除的段。默认为false。请注意,这不会超过 index.merge.policy.expunge_deletes_allowed阈值。
    flush 强制合并后是否应该执行刷新。默认为 true。

    # 查看每台机器执行merge线程数

    GET _cat/thread_pool/force_merge?v&s=name

    # 查看哪些index在merge

    GET /_cat/indices/?s=segmentsCount:desc&v&h=index,segmentsCount,segmentsMemory,memoryTotal,mergesCurrent,mergesCurrentDocs,storeSize,p,r

    ![image-20220927102918000](12.ElastiSearch Merger.assets/image-20220927102918000.png)

    # 使用task api 查看force merge

    GET _tasks?detailed=true&actions=*forcemerge
    
    1

    # 查看segment

    GET _cat/segments?v&h=shard,segment,size.memory
    
    1

    # 查看索引大小

    GET _cat/indices/ads_user_profile?v
    
    1
    上次更新: 2023/03/10, 16:49:38
    ElasticSearch优化指南
    Elasticsearch Pipeline 详解

    ← ElasticSearch优化指南 Elasticsearch Pipeline 详解→

    最近更新
    01
    Linux可视化监控
    02-26
    02
    Maven私服搭建
    02-26
    03
    当ElasticSearch时间字段设置多个格式到底是用的哪个?
    01-19
    更多文章>
    Theme by Vdoing | Copyright © 2016-2025 Jast-zsh | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式