在ubuntu 12.04上更改ulimit永远不起作用



我正在使用hadoop,需要更改打开的文件ulimit -n的数量。我在stackoverflow和其他地方看到过类似的问题,并尝试过这些答案中的所有内容,但仍然不起作用。我正在使用ubuntu 12.04 LTS。以下是我所做的:

/etc/security/limits.conf中的更改限制,我已经为*和root设置了。我还将限制更改为一些数字,如10000unlimited

* soft nofile 1513687
* hard nofile 1513687
root soft nofile 1513687
root hard nofile 1513687

我也用-而不是softhard尝试了上述设置。在这些更改之后,我对/etc/pam.d/文件进行了更改,例如:

common-session 
common-session-noninterative
login
cron
sshd
su
sudo

我已经将CCD_ 11添加到每个文件的开头。我重新启动了有问题的框,但设置没有生效。

我还发现/etc/security/limits.d/目录中有用户hbasemapredhdfs的文件。我也尝试过更改这些单独文件中的限制,但没有成功。

我也试过把ulimit -S -n unlimited放在/etc/profile里面。它不起作用。

最后,我尝试将limit nofile unlimited unlimited放在/etc/init.d/hadoop*文件中作为第一行。不起作用。

不过,有一件有趣的事情是,我没有在盒子上安装hbase,但我在/etc/security/limits.d/目录中有一个hbase.conf文件。该文件中的设置反映在ulimit -n中。但是来自hdfs.confmapred.conf的设置没有被反映。这表明有东西正在覆盖hdfsmapred的设置。

我想我已经尝试了人们在几个论坛上建议的一切,还有什么我可能错过或做得不对的吗?

我使用CDH 4.4.0作为我的hadoop发行版。

您是如何检查ulimit的?

我遇到了类似的问题,我会运行sudo ulimit -n,但仍然会看到1024。这是因为ulimit是内置的Bash。为了查看/etc/security/limits.conf中反映的更改,我不得不作为实际用户运行ulimit

最新更新