wiki:notes/es

Version 3 (modified by root, at 2017-10-08T08:41:44Z) (diff)

--

заметки об elasticsearch

получение uid узлов

/_nodes/stats?pretty


перезагрузка узла с миграцией

  1. отключить ребалансинг:
    curl -XPUT 'http://master:9200/_cluster/settings' -d '{
     "transient": {
      "cluster.routing.allocation.enable": "none"
     }
    }'
    
  2. запустить synced flush на всех индексах:
    curl -XPOST 'http://master:9200/prefix_*/_flush/synced'
    
  3. останавливать по одному ES за раз, загружать и ждать пока не станет зелёным;
  4. вернуть ребалансинг:
    curl -XPUT 'http://master:9200/_cluster/settings' -d '{
     "transient": {
      "cluster.routing.allocation.enable": "all"
     }
    }'
    


причины unassigned шарда

curl -XGET 'http://master:9200/_cluster/allocation/explain' -d'{
 "index": "index-name",
 "shard": 123,
 "primary": true
}'


исправление unassigned primary шарда

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
  }
 }]
}'


выключить репликацию для индекса

curl -XPUT 'http://master:9200/shard-name/_settings' -d '{
 "index": {
  "number_of_replicas": 0
 }
}'


установить размер translog (лога транзакций)

curl -XPUT 'http://master:9200/prefix_*/_settings' -d '{
 "index": {
  "translog.flush_threshold_size": "512mb"
 }
}'

список unassigned шардов с причинами

curl -s 'http://master:9200/_cat/shards?h=index,shard,prirep,state,unassigned.reason,unassigned.details' |
 fgrep UNASS