• 大叔经验分享(141)ElasticSearch优化实践


    1 冷热分离(Hot/Warm/Cold)

    Index Lifecircle Management Policy

    索引特点

    • Hot: 索引被更新,大量被查询
    • Warm: 索引不更新,偶尔被查询
    • Cold: 索引不更新,很少被查询
    • Delete: 索引不更新,不被查询

    参考:https://www.elastic.co/guide/en/elasticsearch/reference/7.0/index-lifecycle-management.html

    根据索引特点,可以将es集群划分几个小集群:

    • Hot集群:存放Hot索引
    • Warm集群:存放Warm索引
    • Cold集群:存放Cold索引(非必须)

    https://www.elastic.co/blog/implementing-hot-warm-cold-in-elasticsearch-with-index-lifecycle-management

    最简单的是划分为Hot和Warm来管理,他们的特点是:

    • Hot集群:多CPU,大内存,小硬盘,小Shard,同时应对大量的读写请求
    • Warm集群:少CPU,小内存,大硬盘,大Shard,应对少量的读写请求

    当一个索引从Hot集群移动到Warm集群时,通常需要将小Shard变为大Shard,这里需要一个shrink操作,即将一个索引的多个shard合并成更少的shard,比如5个10G的shard合并成1个50G的shard,shrink后的索引可以通过alias为原索引被搜索。

    https://www.elastic.co/guide/en/elasticsearch/reference/7.0/indices-shrink-index.html

    2 内存分配

    elasticsearch的节点内存分为2个部分:

    • JVM内存
    • Lucene索引内存:主要被磁盘大小、shard大小影响

    可以通过磁盘大小来预估第二个Lucene索引的最大占用内存,剩下的绝大部分可以分配给JVM,比如当前节点有32G内存,磁盘占用50%,Lucene内存使用1G,可以预估磁盘占满时Lucene最多使用2G内存,那剩下的30G可以分配绝大部分比如28G给JVM来使用,这样可以最优化节点的内存占用。

    3 不同节点间磁盘占用不均

    ElasticSearch的集群均衡策略是保证不同节点间Shard数量近似相等,如果不同shard大小相差悬殊,就会出现不同节点磁盘占用不均的情况,具体可以分为两种:

    Hot节点磁盘占用不均

    调整ILM策略,将Hot节点上的索引滚动策略改为使用大小而不是时间,这样可以减少索引热节点上的shard大小不等的情况,进一步减少磁盘分布不均的可能。

    Warm节点磁盘占用不均

    可以定期删除空索引,合并小索引等操作减少shard数量,进一步减少磁盘分布不均的可能。

    4 其他

    磁盘使用百分比

    热节点和热节点磁盘使用到90%的时候要及时扩容

    性能瓶颈

    关注集群中的节点有自身的性能瓶颈以及处理能力,比如

    • max_restore_bytes_per_sec:一定要低于磁盘的极限,否则很容易导致节点假死

    • cluster_concurrent_rebalance和node_concurrent_recoveries:如果Warm节点偶尔出现被master踢掉的情况,有可能是因为shrink或迁移的并发太大超过集群承受能力,这时最好降低这两个并发限制。

  • 相关阅读:
    Oracle 12C 物理Standby 主备切换switchover
    Oracle 性能之 Enq: CF
    dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
    OGG 从Oracle备库同步数据至kafka
    WARNING: inbound connection timed out (ORA-3136)
    11G 新特性之 密码延迟认证
    org-mode 写 cnblogs 博客
    inner join, left join, right join, full outer join的区别
    Emacs 浏览网页
    服务器被攻击后当作矿机,高WIO
  • 原文地址:https://www.cnblogs.com/barneywill/p/16324636.html
Copyright © 2020-2023  润新知