zoukankan      html  css  js  c++  java
  • es根据磁盘使用情况来决定是否分配shard

    注意两个地方说法有出入,待实测!

    es可以根据磁盘使用情况来决定是否继续分配shard。默认设置是开启的,也可以通过api关闭:cluster.routing.allocation.disk.threshold_enabled: false

    在开启的情况下,有两个重要的设置:

    cluster.routing.allocation.disk.watermark.low:控制磁盘最小使用率。默认85%.说明es在磁盘使用率达到85%的时候将会停止分配新的shard。也可以设置为一个绝对数值,比如500M.

    cluster.routing.allocation.disk.watermark.high:控制磁盘的最大使用率。默认90%.说明在磁盘使用率达到90%的时候es将会relocate shard去其他的节点。同样也可以设置为一个绝对值。

    watermark setting可以通过update-api动态修改,默认es每隔30s会收集各个节点磁盘的使用情况,可以cluster.info.update.interval来设置时间间隔。

    参考:http://www.voidcn.com/blog/jingkyks/article/p-3255075.html

    里面有很多ES参数的详细讲解!

    DiskThresholdDecider是在ElasticSearch 0.90.4版本引入的功能。它允许用户基于可用磁盘空间来分配分片。它默认是关闭的。如果想启动它,则需要把cluster.routing.allocation.disk.threshold_enabled属性设置为true。这个决策者可以通过配置阈值来控制何时可以将分片分配到该节点,何时ElasticSearch应该把分片分配到其它节点。

    cluster.routing.allocation.disk.watermark.low属性允许用户指定一个百分比阈值或者绝对数值来控制何时能够进行分片分配。比如默认值是0.7,表示当可用磁盘空间低于70%时,新的分片才可以分配到该节点上

    cluster.routing.allocation.disk.watermark.high属性允许用户指定一个百分比阈值或者绝对数值来控制何时需要将分片分配到其它的节点。比如默认值是0.85,表示当可用磁盘空间高于85%时,ElasticSearch会重新把该节点的分片分配到其它节点。

    cluster.routing.allocation.disk.watermark.low属性和cluster.routing.allocation.disk.watermark.high属性都可以指定一个百分比阈值(比如0.7或者0.85)或者绝对数值(比如1000mb)。来控制何时需要将分片分配到其它的节点。比如默认值是0.85,此外,上述属性都可以通过elasticsearch.yml静态设置或者用ElasticSearch API动态调整。

    参考:http://udn.yyuap.com/doc/mastering-elasticsearch/chapter-4/43_README.html

  • 相关阅读:
    CloudStack+KVM环境搭建(步骤很详细,说明ClockStack是用来管理虚拟机的)
    CloudStack和OpenStack该如何选择(如果准备选择OpenStack,请做好hack的准备。CloudStack的底层功能已经做的很完善了,更适合商用)
    NancyFx And ReactiveX
    Apache Kafka® is a distributed streaming platform
    C/C++配置
    Win10 专业版 Hyper-V 主机计算服务无法启动
    使用事件和 CQRS 重写 CRUD 系统
    使用Skywalking分布式链路追踪系统
    GraphQL&DSL&API网关
    TomatoLog 是一个基于 .NETCore 平台的产品。
  • 原文地址:https://www.cnblogs.com/bonelee/p/6207252.html
Copyright © 2011-2022 走看看