Я думаю, что ваша проблема все еще вызвана нехваткой памяти. Я бы протестировал составной стек, который вы показываете выше. Проверьте docker stats
. Использование памяти колебалось в 1.8G.
Вы упомянули, что вы уменьшаете размер кучи в вашем файле для создания : от ES_JAVA_OPTS: "-Xmx512m -Xms512m"
до более низкого.
Но все равно не рекомендую урезать размер кучи ниже 256m
. Любое значение ниже этого приведет к некоторой ошибке, например:
[circuit_breaking_exception] [parent] Data too large, data for [<http_request>] would be xxx, which is larger than the limit of xxx
Любой более сложный запрос или другая операция приведут к большему количеству ошибок.
Кроме того, обратите внимание, что у вас есть один хост, но вы все еще используете swarm в качестве главного и рабочего узла. Любая другая избыточная служба или приложение подтолкнет вас к хосту.
2G оперативного сервера недостаточно для размещения всего стека ELK для наиболее распространенного использования. Если вы настаиваете, попробуйте добавить mem_limit
в ваш файл compose (вам не нужно использовать v3, v2 достаточно для службы с одним узлом), чтобы ограничить использование памяти вашего контейнера.