Проблема GC на нодах-координаторах

Версия кластера 7.8.1
Версия ES на коордиаторах 7.9.2 (обновляли вместе с новой java)
Java: openjdk 15 2020-09-15
ES в докере.

Конфиг ES тут: Config ES
Конфиг JVM тут: Config JVM
Вывод GET _cluster/stats тут: cluster stats

В логах на коордиатор-нодах GC постоянно спамит очисткой мусора, не смотря на это, запросы принимаются, функционирование кластера стабильное:

{"type": "server", "timestamp": "2020-10-15T22:53:45,795+03:00", "level": "WARN", "component": "o.e.m.j.JvmGcMonitorService", "cluster.name": "mflogs", "node.name": "XXX", "message": "[gc][2265] overhead, spent [4s] collecting in the last [1s]", "cluster.uuid": "gvRVyLBpSEy4H9AmJzIMKw", "node.id": "8-gigf8ZT5iMyhzmnVDcDw"  }
{"type": "server", "timestamp": "2020-10-15T22:53:50,818+03:00", "level": "WARN", "component": "o.e.m.j.JvmGcMonitorService", "cluster.name": "mflogs", "node.name": "XXX", "message": "[gc][2270] overhead, spent [1.9s] collecting in the last [1s]", "cluster.uuid": "gvRVyLBpSEy4H9AmJzIMKw", "node.id": "8-gigf8ZT5iMyhzmnVDcDw"  }
{"type": "server", "timestamp": "2020-10-15T22:54:06,824+03:00", "level": "WARN", "component": "o.e.m.j.JvmGcMonitorService", "cluster.name": "mflogs", "node.name": "XXX", "message": "[gc][2286] overhead, spent [1.9s] collecting in the last [1s]", "cluster.uuid": "gvRVyLBpSEy4H9AmJzIMKw", "node.id": "8-gigf8ZT5iMyhzmnVDcDw"  }

Однако наблюдается проблема с Кибаной, хосты которой смотрят на координаторы. Кибана не видит связи с ES:

{"type":"response","@timestamp":"2020-10-14T07:54:50Z","tags":,"pid":6,"method":"get","statusCode":200,"req":{"url":"/login?next=%2F","method":"get","headers":{"connection":"upgrade","host":"kibana.prod.ru","user-agent":"nginx/1.13.10 (health check elkOk)"},"remoteAddress":"10.99.202.21","userAgent":"10.99.202.21"},"res":{"statusCode":200,"responseTime":90,"contentLength":9},"message":"GET /login?next=%2F 200 90ms - 9.0B"}
{"type":"log","@timestamp":"2020-10-14T07:54:50Z","tags":["warning","plugins","licensing"],"pid":6,"message":"License information could not be obtained from Elasticsearch due to Error: Request Timeout after 60000ms error"}

Хосты кибаны временно пришлось переключить на мастера. Я правильно понимаю, что проблема с коннектом связана с GC?

Вопрос, в чем может заключаться проблема утилизации памяти на координаторах?

Прежде всего, я бы не рекомендовал мешать разные версии. Особенно иметь более новые ноды координации, как долгосрочное решение. Обновление должно происходить, как можно быстрее.

Во-вторых, elasticsearch не поддерживает Shenandoah GC и мы не тестируем с этими установками. Поэтому если там что-то сломано, то мы об этом не знаем.

Спам, который вы видете, вполне может быть результат неправильной интерпретации статистики или баг.

Не факт. Нужно смотреть в логи мастера и узлов координации. Скорее всего нет.

Вполне возможно, что памяти слишком мало, либо... слишком много и мусор накапливается слишком долго а потом вызывает задержки при сборе. Но, скорее всего, с памятью все нормально, просто elasticsearch неправильно работает с Shenandoah GC. Как я уже сказал, мы в таком режиме elasticsearch не тестируем, так что Вы тут в неизведанной территории.

Пришлите полный лог узлов координации после перезагрузки и логов мастера на момент перезагрузки узла координации - будем разбираться.

Вот полный лог с координатора

full logs

Версию координаторов откатили до версии кластера, на 7.8.1.

Судя по этому логу, этому узлу не хватило памяти. Так что либо какие-то утечки, либо слишком много больших запросов пришло одновременно на этот узел.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.