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

systemd и max открывают файлы с elasticsearch на CentOS 7

Я пытаюсь установить максимальное количество открытых файлов в CentOS 7 для elasticsearch. Я снова и снова читал, как это установить, но, похоже, это не работает. Как я понимаю:

Итак, я пошел дальше и сделал это, вот мой файл модуля, он предоставляется марионеточный модуль elasticsearch:

[Unit]
Description=Starts and stops a single elasticsearch instance on this system
Documentation=http://www.elasticsearch.org

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/elasticsearch-graylog2
User=elasticsearch
Group=elasticsearch
PIDFile=/var/run/elasticsearch/elasticsearch-graylog2.pid
ExecStart=/usr/share/elasticsearch/bin/elasticsearch -d -p /var/run/elasticsearch/elasticsearch-graylog2.pid -Des.default.path.home=${ES_HOME} -Des.default.path.logs=${LOG_DIR} -Des.default.path.data=${DATA_DIR} -Des.default.path.work=${WORK_DIR} -Des.default.path.conf=${CONF_DIR}
# See MAX_OPEN_FILES in sysconfig
LimitNOFILE=65535
# See MAX_LOCKED_MEMORY in sysconfig, use "infinity" when MAX_LOCKED_MEMORY=unlimited and using bootstrap.mlockall: true

# Shutdown delay in seconds, before process is tried to be killed with KILL (if configured)
TimeoutStopSec=20

[Install]
WantedBy=multi-user.target

Обратите внимание, как limitNOFILE устанавливается здесь. Я также установил MAX_OPEN_FILES в своем EnvironmentFile:

CONF_DIR=/etc/elasticsearch/graylog2
CONF_FILE=/etc/elasticsearch/graylog2/elasticsearch.yml
ES_GROUP=elasticsearch
ES_HOME=/usr/share/elasticsearch
ES_USER=elasticsearch
LOG_DIR=/var/log/elasticsearch/graylog2
MAX_OPEN_FILES=65535

Тем не менее, elasticsearch по-прежнему сообщает, что максимальное количество открытых файлов составляет 4096, как из самого приложения, так и из с /proc/<pid>/limits

Кто-нибудь знает, что я здесь делаю не так? Я даже пытался установить это изнутри limits.conf но как я и ожидал, не повезло.

Я сделал это:

/etc/security/limits.d/elasticuser
# Default limit for number of open files for elastic user
elastic hard nofile 65536

И включил это в systemd, как и вы

LimitNOFILE=65536

кажется, работает нормально

Пользователь не может быть установлен в / sbin / nologin, это путь к его оболочке. Итак, вам нужно настроить свой limits.conf