如果您喜欢我有很多磁盘,则可以调整水印设置并使用字节值而不是百分比:
注意!您不能在这些设置中混合使用百分比值和字节值。要么全部设置为百分比值,要么全部设置为字节值。
设置 :
cluster.routing.allocation.disk.watermark.low
控制磁盘使用率的低水位线。它默认为85%,这意味着一旦节点使用了超过85%的磁盘,ES便不会将新的分片分配给节点。如果可用空间少于配置的数量,也可以将其设置为绝对字节值(例如500mb),以防止ES分配分片。
设置 :
cluster.routing.allocation.disk.watermark.high
控制高水位线。默认为90%,这意味着如果节点磁盘使用率上升到90%以上,ES将尝试将分片重新定位到另一个节点。一旦少于节点上配置的可用空间量,也可以将其设置为绝对字节值(类似于低水位标记)以重定位分片。
设置 ::
cluster.routing.allocation.disk.watermark.flood_stage
控制洪水阶段的水印。它的默认值为95%,这意味着Elasticsearch在每个节点上分配了一个或多个分片的每个索引上强制执行一个只读索引块(index.blocks.read_only_allow_delete),该节点上至少有一个磁盘超过了泛洪阶段。这是防止节点耗尽磁盘空间的最后手段。一旦有足够的磁盘空间可用于继续进行索引操作,则必须手动释放索引块。
https://www.elastic.co/guide/zh-CN/elasticsearch/reference/current/disk-
allocator.html
请注意:
百分比值是指已使用的磁盘空间,而字节值是指可用磁盘空间。这可能会造成混淆,因为它颠倒了高和低的含义。例如,将低水印设置为10gb,将高水印设置为5gb是有意义的,但反之则不行。
在我的5TB磁盘上设置:
# /etc/elasticsearch/elasticsearch.ymlcluster.routing.allocation.disk.threshold_enabled: truecluster.routing.allocation.disk.watermark.flood_stage: 5gbcluster.routing.allocation.disk.watermark.low: 30gbcluster.routing.allocation.disk.watermark.high: 20gb
编辑:添加
cluster.routing.allocation.disk.watermark.flood_stage为其他答案。


![低磁盘水印[??%]超出 低磁盘水印[??%]超出](http://www.mshxw.com/aiimages/31/391988.png)
