ES Sharding 問題集

Disk-based Shard Allocation


上週公司的 ES cluster 炸裂,才發現一個有趣的問題。

一度以為是 index 過多所以才掛 shard 緩慢,但我想錯了!

就是當 ES Cluster 在分 shard 的時候,要是 data node 的 disk space 不夠會無法繼續分,

造成 shard 掛不回去。

以下兩個參數是控制關鍵。

cluster.routing.allocation.disk.watermark.low

控制 disk space 的低標。預設 85%,要是超過 85%,則不會再把 shard 分到這個 node 上。

cluster.routing.allocation.disk.watermark.high

控制 disk space 的高標。預設 90%,要是超過 90%,es 會嘗試把 shard 掛到其他 node 上。

ES 官網參考文件