= заметки об elasticsearch [[PageOutline(2-3,содержание)]] == получение `uid` узлов `/_nodes/stats?pretty` [[br]] == перезагрузка узла с миграцией 1. отключить ребалансинг: {{{#!bash curl -XPUT 'http://master:9200/_cluster/settings' -d '{ "transient": { "cluster.routing.allocation.enable": "none" } }' }}} 1. запустить synced flush на всех индексах: {{{#!bash curl -XPOST 'http://master:9200/prefix_*/_flush/synced' }}} 1. останавливать по одному ES за раз, загружать и ждать пока не станет зелёным; 1. вернуть ребалансинг: {{{#!bash curl -XPUT 'http://master:9200/_cluster/settings' -d '{ "transient": { "cluster.routing.allocation.enable": "all" } }' }}} [[br]] == причины unassigned шарда {{{#!bash curl -XGET 'http://master:9200/_cluster/allocation/explain' -d'{ "index": "index-name", "shard": 123, "primary": true }' }}} [[br]] == исправление unassigned primary шарда {{{#!bash curl -XPOST 'http://master:9200/_cluster/reroute' -d '{ "commands": [{ "allocate_stale_primary": { "index": "index-name", "shard": 123, "node": "search_worker_3", "accept_data_loss": true } }] }' }}} [[br]] == выключить репликацию для индекса {{{#!bash curl -XPUT 'http://master:9200/shard-name/_settings' -d '{ "index": { "number_of_replicas": 0 } }' }}} [[br]] == установить размер `translog` (лога транзакций) {{{#!bash curl -XPUT 'http://master:9200/prefix_*/_settings' -d '{ "index": { "translog.flush_threshold_size": "512mb" } }' }}}