Назад | Перейти на главную страницу

Отладка Elasticsearch

Наш elasticsearch - беспорядок. Состояние кластера всегда отображается красным, и я решил изучить его и по возможности спасти. Но понятия не имею, с чего начать. Вот некоторая информация о нашем кластере:

{
  "cluster_name" : "elasticsearch",
  "status" : "red",
  "timed_out" : false,
  "number_of_nodes" : 6,
  "number_of_data_nodes" : 6,
  "active_primary_shards" : 91,
  "active_shards" : 91,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 201,
  "number_of_pending_tasks" : 0
}

6 узлов:

host               ip         heap.percent ram.percent load node.role master name
es04e.p.comp.net 10.0.22.63            30          22 0.00 d         m      es04e-es
es06e.p.comp.net 10.0.21.98            20          15 0.37 d         m      es06e-es
es08e.p.comp.net 10.0.23.198            9          44 0.07 d         *      es08e-es
es09e.p.comp.net 10.0.32.233           62          45 0.00 d         m      es09e-es
es05e.p.comp.net 10.0.65.140           18          14 0.00 d         m      es05e-es
es07e.p.comp.net 10.0.11.69            52          45 0.13 d         m      es07e-es

Сразу видно, что у меня очень большое количество неназначенных шардов (201). Я наткнулся этот ответ и попробовал и получил 'acknowledged:true', но не было изменений ни в одном из опубликованных выше наборов информации.

Затем я вошел в один из узлов es04 и просмотрел файлы журналов. в первом файле журнала есть несколько строк, которые привлекли мое внимание

[2015-05-21 19:44:51,561][WARN ][transport.netty          ] [es04e-es] exception caught on transport layer [[id: 0xbceea4eb]], closing connection

и

[2015-05-26 15:14:43,157][INFO ][cluster.service          ] [es04e-es] removed {[es03e-es][R8sz5RWNSoiJ2zm7oZV_xg][es03e.p.sojern.net][inet[/10.0.2.16:9300]],}, reason: zen-disco-receive(from master [[es01e-es][JzkWq9qwQSGdrWpkOYvbqQ][es01e.p.sojern.net][inet[/10.0.2.237:9300]]])
[2015-05-26 15:22:28,721][INFO ][cluster.service          ] [es04e-es] removed {[es02e-es][XZ5TErowQfqP40PbR-qTDg][es02e.p.sojern.net][inet[/10.0.2.229:9300]],}, reason: zen-disco-receive(from master [[es01e-es][JzkWq9qwQSGdrWpkOYvbqQ][es01e.p.sojern.net][inet[/10.0.2.237:9300]]])
[2015-05-26 15:32:00,448][INFO ][discovery.ec2            ] [es04e-es] master_left [[es01e-es][JzkWq9qwQSGdrWpkOYvbqQ][es01e.p.sojern.net][inet[/10.0.2.237:9300]]], reason [shut_down]
[2015-05-26 15:32:00,449][WARN ][discovery.ec2            ] [es04e-es] master left (reason = shut_down), current nodes: {[es07e-es][etJN3eOySAydsIi15sqkSQ][es07e.p.sojern.net][inet[/10.0.2.69:9300]],[es04e-es][3KFMUFvzR_CzWRddIMdpBg][es04e.p.sojern.net][inet[/10.0.1.63:9300]],[es05e-es][ZoLnYvAdTcGIhbcFRI3H_A][es05e.p.sojern.net][inet[/10.0.1.140:9300]],[es08e-es][FPa4q07qRg-YA7hAztUj2w][es08e.p.sojern.net][inet[/10.0.2.198:9300]],[es09e-es][4q6eACbOQv-TgEG0-Bye6w][es09e.p.sojern.net][inet[/10.0.2.233:9300]],[es06e-es][zJ17K040Rmiyjf2F8kjIiQ][es06e.p.sojern.net][inet[/10.0.1.98:9300]],}
[2015-05-26 15:32:00,450][INFO ][cluster.service          ] [es04e-es] removed {[es01e-es][JzkWq9qwQSGdrWpkOYvbqQ][es01e.p.sojern.net][inet[/10.0.2.237:9300]],}, reason: zen-disco-master_failed ([es01e-es][JzkWq9qwQSGdrWpkOYvbqQ][es01e.p.sojern.net][inet[/10.0.2.237:9300]])
[2015-05-26 15:32:36,741][INFO ][cluster.service          ] [es04e-es] new_master [es04e-es][3KFMUFvzR_CzWRddIMdpBg][es04e.p.sojern.net][inet[/10.0.1.63:9300]], reason: zen-disco-join (elected_as_master)

В этом разделе я понял, что было несколько узлов es01, es02, es03 которые были удалены.

После этого во всех лог-файлах (их около 30) будет всего одна строка:

[2015-05-26 15:43:49,971][DEBUG][action.bulk              ] [es04e-es] observer: timeout notification from cluster service. timeout setting [1m], time since start [1m]

Я проверил все узлы, и у них одинаковая версия ES и logstash. Я понимаю, что это большая сложная проблема, но если кто-нибудь сможет выяснить проблему и подтолкнуть меня в правильном направлении, это будет ОГРОМНАЯ помощь

РЕДАКТИРОВАТЬ:

Indices:
health status index               pri rep docs.count docs.deleted store.size pri.store.size
yellow open   logstash-2015.07.20   5   1   95217146            0     30.8gb         30.8gb
yellow open   logstash-2015.07.12   5   1      66254            0     10.5mb         10.5mb
yellow open   logstash-2015.07.21   5   1   51979343            0     17.8gb         17.8gb
yellow open   logstash-2015.07.17   5   1     184206            0     27.9mb         27.9mb
red    open   logstash-2015.08.18   5   1
red    open   logstash-2015.08.19   5   1
yellow open   logstash-2015.07.25   5   1  116490654            0       55gb           55gb
red    open   logstash-2015.08.11   5   1
red    open   logstash-2015.08.20   5   1
yellow open   logstash-2015.07.28   5   1  171527842            0     79.5gb         79.5gb
red    open   logstash-2015.08.03   5   1
yellow open   logstash-2015.07.26   5   1  130029870            0     61.1gb         61.1gb
red    open   logstash-2015.08.01   5   1
yellow open   logstash-2015.07.18   5   1     143834            0     21.5mb         21.5mb
red    open   logstash-2015.08.05   5   1
yellow open   logstash-2015.07.19   5   1      94908            0       15mb           15mb
yellow open   logstash-2015.07.22   5   1   52295727            0     18.2gb         18.2gb
red    open   logstash-2015.07.29   5   1
red    open   logstash-2015.08.02   5   1
yellow open   logstash-2015.07.16   5   1     185120            0     25.8mb         25.8mb
red    open   logstash-2015.08.04   5   1
yellow open   logstash-2015.07.24   5   1  144885713            0     68.3gb         68.3gb
red    open   logstash-2015.07.30   5   1
yellow open   logstash-2015.07.14   5   1   65650867            0     22.1gb         22.1gb
yellow open   logstash-2015.07.27   5   1  170717799            0     79.3gb         79.3gb
red    open   logstash-2015.07.31   5   1
yellow open   .kibana               1   1          7            0     30.3kb         30.3kb
yellow open   logstash-2015.07.13   5   1      87420            0     13.5mb         13.5mb
yellow open   logstash-2015.07.23   5   1  161453183            0     75.7gb         75.7gb
yellow open   logstash-2015.07.15   5   1     189168            0     34.9mb         34.9mb
yellow open   logstash-2015.07.11   5   1      58411            0      8.9mb          8.9mb

elasticsearch.yml

cloud:
  aws:
    protocol: http
    region: us-east
discovery:
  type: ec2
node:
  name: es04e-es
path:
  data: /var/lib/es-data-elasticsearch

Осколки - http://pastie.org/10364963

_cluster/settings/pretty?true

{
  "persistent" : { },
  "transient" : { }
}

Основная причина красного статуса понятна - неназначенные карты. Хорошо, попробуем решить это:

  1. Давайте проверим причину, по которой чарты находятся в неназначенном состоянии:

    _cat/shards?h=index,shard,prirep,state,unassigned.reason
    
  2. Убедитесь, что на узлах достаточно свободного места:

    _cat/allocation?v
    
  3. Вы можете попробовать вручную выделить chard для узла данных и проверить ответ ElasticSearch с полным объяснением ошибки:

    {
        "commands": [
        {
          "allocate": {
          "index": "index_name",
          "shard": shard_num,
          "node": "datanode_name",
          "allow_primary": true
        }
      }
      ]
    }