Elasticsearch的watermarks配置
时间: 2024-07-22 14:01:13 浏览: 124
Elasticsearch 的 Watermarks 是一种用于管理索引写入速率的机制,它可以帮助系统更好地处理高流量场景下的数据同步。Watermarks 主要配置在 `indexSETTING` 中的 `index.blocks.write` 节点,用于设置写入速度阈值:
1. **Write Throttling**:这是水印的核心部分,通过 `write.operation.max_retries` 和 `write.wait_for_active_shards` 控制。`operation.max_retries` 指定在一个时间段内失败的写操作的最大重试次数,`wait_for_active_shards` 则指定在写入之前需要等待多少活跃分片。
2. **Slow Node Detection**:你可以配置 `write.wait_for_no_failures` 来检测节点是否变慢,如果某个节点连续几次无法达到写入速度阈值,就会被视为“慢”节点。
3. **Memory Watermark**:`ram.watermark.low` 和 `ram.watermark.high` 设置内存使用量的水位线,当内存超过低水位时开始警告,超过高水位则会暂停写入,直到内存下降到安全范围。
4. **Time-Based Watermark**:`transient watermark` 和 `persistent watermark` 是基于时间的水印,它们控制了索引状态的数据回滚策略,防止丢失数据。
阅读全文