| | 1 | = заметки об elasticsearch |
| | 2 | |
| | 3 | [[PageOutline(2-3,содержание)]] |
| | 4 | |
| | 5 | == получение `uid` узлов |
| | 6 | `/_nodes/stats?pretty` |
| | 7 | |
| | 8 | [[br]] |
| | 9 | == перезагрузка узла с миграцией |
| | 10 | 1. отключить ребалансинг: |
| | 11 | {{{#!bash |
| | 12 | curl -XPUT 'http://master:9200/_cluster/settings' -d '{ |
| | 13 | "transient": { |
| | 14 | "cluster.routing.allocation.enable": "none" |
| | 15 | } |
| | 16 | }' |
| | 17 | }}} |
| | 18 | 1. запустить synced flush на всех индексах: |
| | 19 | {{{#!bash |
| | 20 | curl -XPOST 'http://master:9200/prefix_*/_flush/synced' |
| | 21 | }}} |
| | 22 | 1. останавливать по одному ES за раз, загружать и ждать пока не станет зелёным; |
| | 23 | 1. вернуть ребалансинг: |
| | 24 | {{{#!bash |
| | 25 | curl -XPUT 'http://cluster:9200/_cluster/settings' -d '{ |
| | 26 | "transient": { |
| | 27 | "cluster.routing.allocation.enable": "all" |
| | 28 | } |
| | 29 | }' |
| | 30 | }}} |
| | 31 | |
| | 32 | [[br]] |
| | 33 | == причины unassigned шарда |
| | 34 | {{{#!bash |
| | 35 | curl -XGET 'http://master:9200/_cluster/allocation/explain' -d'{ |
| | 36 | "index": "index-name", |
| | 37 | "shard": 123, |
| | 38 | "primary": true |
| | 39 | }' |
| | 40 | }}} |
| | 41 | |
| | 42 | [[br]] |
| | 43 | == исправление unassigned primary шарда |
| | 44 | {{{#!bash |
| | 45 | curl -XPOST 'http://master:9200/_cluster/reroute' -d '{ |
| | 46 | "commands": [{ |
| | 47 | "allocate_stale_primary": { |
| | 48 | "index": "index-name", |
| | 49 | "shard": 123, |
| | 50 | "node": "search_worker_3", |
| | 51 | "accept_data_loss": true |
| | 52 | } |
| | 53 | }] |
| | 54 | }' |
| | 55 | }}} |
| | 56 | |
| | 57 | [[br]] |
| | 58 | == выключить репликацию для индекса |
| | 59 | {{{#!bash |
| | 60 | curl -XPUT 'http://master:9200/shard-name/_settings' -d '{ |
| | 61 | "index": { |
| | 62 | "number_of_replicas": 0 |
| | 63 | } |
| | 64 | }' |
| | 65 | }}} |
| | 66 | |
| | 67 | [[br]] |
| | 68 | == установить размер `translog` (лога транзакций) |
| | 69 | {{{#!bash |
| | 70 | curl -XPUT 'http://master:9200/prefix_*/_settings' -d '{ |
| | 71 | "index": { |
| | 72 | "translog.flush_threshold_size": "512mb" |
| | 73 | } |
| | 74 | }' |
| | 75 | }}} |