我正在使用 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 发行版。