wiki:notes/es

Version 7 (modified by root, at 2017-10-20T09:26:36Z) (diff)

--

заметки об elasticsearch

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

  1. /_nodes/stats?pretty - тяжёлый вывод;
  2. /_cat/nodes?v&h=name,id&s=name - будут только первые 4 символа от uid;


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

  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


список опций конфигурации с умолчаниями (см. рис. 1)

/_cluster/settings?pretty&include_defaults=true