Я работаю с hadoop и мне нужно изменить количество открытых файлов ulimit -n
. Я видел похожие вопросы о stackoverflow и в других местах и пробовал все в этих ответах, но это все еще не работает. Я работаю с ubuntu 12.04 LTS
. Вот что я сделал:
изменить лимиты в /etc/security/limits.conf
, я ввел настройки для * и root
. Я также изменил ограничения на некоторое число, например 10000
и unlimited
.
* soft nofile 1513687
* hard nofile 1513687
root soft nofile 1513687
root hard nofile 1513687
Я также пробовал установить выше с -
вместо того soft
и hard
. После этих изменений я внес изменения в /etc/pam.d/
такие файлы как:
common-session
common-session-noninterative
login
cron
sshd
su
sudo
я добавил session required pam_limits.so
в начало каждого файла. Я перезапустил рассматриваемый компьютер, и настройки не вступили в силу.
Я также обнаружил, что внутри были файлы /etc/security/limits.d/
каталог для пользователей hbase
mapred
и hdfs
. Я также пытался изменить ограничения в этих отдельных файлах, но безрезультатно.
Я пробовал поставить ulimit -S -n unlimited
внутри /etc/profile
также. Это не работает.
Наконец, я попытался поставить limit nofile unlimited unlimited
внутри /etc/init.d/hadoop*
файлы как первая строка. Не сработало.
Одна интересная вещь заключается в том, что у меня на приставке не установлен hbase, но у меня есть hbase.conf
файл внутри /etc/security/limits.d/
каталог. Настройки в этом файле отображаются с помощью ulimit -n
. Но настройки из hdfs.conf
и mapred.conf
не отражаются. Это говорит о том, что что-то перезаписывает настройки для hdfs
и mapred
.
Думаю, я перепробовал все, что предлагали люди на нескольких форумах, есть ли еще что-нибудь, что я пропустил или сделал неправильно?
Я использую CDH 4.4.0
в качестве моего распределения hadoop.
Вы перезагружались? Я обнаружил, что изменения в /etc/security/limits.conf работают у меня только после перезагрузки.