更改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 

我也试过以上的设置-而不是soft 。 经过这些更改之后,我对/etc/pam.d/文件进行了更改,例如:

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

我已经添加session required pam_limits.so到每个文件的开头。 我重新启动了这个盒子,设置没有生效。

我还发现用户hbase mapredhdfs/etc/security/limits.d/目录中有文件。 我试图在这些单独的文件中更改限制也无济于事。

我已经尝试在/etc/profile放入ulimit -S -n unlimited 。 它不起作用。

最后,我已经尝试把limit nofile unlimited unlimited/etc/init.d/hadoop*文件作为第一行。 不工作。

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

我想我已经尝试了一些人在几个论坛上提出的build议,还有什么我可能错过或做错了吗?

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

你重新启动了吗? 我发现/etc/security/limits.conf中的更改仅在重新启动后适用于我。