Я пытаюсь установить максимальное количество открытых файлов в CentOS 7 для elasticsearch. Я снова и снова читал, как это установить, но, похоже, это не работает. Как я понимаю:
LimitNOFILE=65535
в файле модуля systemd.Итак, я пошел дальше и сделал это, вот мой файл модуля, он предоставляется марионеточный модуль 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