動かざることバグの如し

近づきたいよ 君の理想に

Elasticsearchでなかなか緑にならない件について

結論

お前のせい

環境

  • Elasticsearch 5.x

概要

複数ノードでクラスターを組んでいるElasticsearchで、1台が壊れたり、メンテナンスで再起動したときにシャードリカバリが発生するが、いかんせん遅い。

が、遅いのはスペックのせいとかESのせいではなく設定のせいかも

設定

並列でシャードリカバリを実行できるが、デフォルトでは2並列でしかやってくれない

余裕がある場合は増やしてみる。

curl -XPUT 'localhost:9200/_cluster/settings' -d '{"transient" : {"cluster.routing.allocation.node_concurrent_recoveries" : "4"}}'

また、リカバリによってパフォーマンスが落ちないように、1ノードあたりの最大通信速度の設定もある。デフォルトだと40MBだが、これも余裕がある場合は増やせる。

curl -XPUT 'localhost:9200/_cluster/settings' -d '{"transient" : {"indices.recovery.max_bytes_per_sec" : "60mb"}}'

用が済んだら元に戻しておこう