= заметки об `elasticsearch` [[PageOutline(2-3,содержание)]] == получение `uid` узлов 1. `/_nodes/stats?pretty` - тяжёлый вывод; 1. `/_cat/nodes?v&h=name,id&s=name` - будут только первые 4 символа от uid; [[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_empty_primary": { "index": "index-name", "shard": 123, "node": "search_worker_3", "accept_data_loss": true } }] }' }}} [[br]] == принудительный запуск stale 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" } }' }}} [[br]] == список unassigned шардов с причинами {{{#!bash curl -s 'http://master:9200/_cat/shards?h=index,shard,prirep,state,unassigned.reason,unassigned.details' | fgrep UNASS }}} [[br]] == список опций конфигурации с умолчаниями ([http://lurkmore.to/%D0%A1%D0%BC._%D1%80%D0%B8%D1%81._1 см. рис. 1]) `/_cluster/settings?pretty&include_defaults=true` [[br]] == поиск шардов индекса * `/index_name/_shard_stores?status=yellow&pretty`, [https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-shards-stores.html мануал]; * `/index_name/_search_shards?preference=_shards:451|_replica&pretty`, [https://www.elastic.co/guide/en/elasticsearch/reference/current/search-shards.html мануал] по [https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-preference.html preference]