在Elasticsearch中,磁盘水位线(Disk watermark)是一个参考点,用于决定是否可以接受分片的磁盘使用情况。磁盘水位线由低到高分为三层:
flood stage
:磁盘使用率超过85%时,Elasticsearch会拒绝所有的写操作以防止数据丢失。high
:磁盘使用率超过 90% 时,Elasticsearch会开始拒绝单个索引的写操作。low
:磁盘使用率低于 75% 时,Elasticsearch会尝试从远程分片来恢复数据。
磁盘水位线可以在集群、索引或者节点级别进行配置。以下是一个设置磁盘水位线的例子:
PUT /_cluster/settings
{
"transient": {
"cluster.routing.allocation.disk.watermark.flood_stage": "99.5%",
"cluster.routing.allocation.disk.watermark.high": "99%",
"cluster.routing.allocation.disk.watermark.low": "90%"
}
}
这个例子中,我们设置了集群的磁盘水位线:
flood_stage
为99.5%,表示磁盘使用率超过99.5%时,拒绝所有写操作。high
为99%,表示磁盘使用率超过99%时,开始限制写操作。low
为90%,表示磁盘使用率低于90%时,开始尝试恢复数据。
请注意,磁盘水位线的设置应该根据集群的实际情况来调整,以确保数据的可靠性和性能的平衡。