在 ubuntu 12.04 上更改 ulimit 不起作用

Rav*_*att 4 hadoop 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
Run Code Online (Sandbox Code Playgroud)

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

common-session 
common-session-noninterative
login
cron
sshd
su
sudo
Run Code Online (Sandbox Code Playgroud)

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

我还发现/etc/security/limits.d/用户hbase mapredhdfs. 我也尝试更改这些单个文件中的限制,但无济于事。

我也试过放在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 发行版。

tyl*_*ein 7

通过这样做,我能够成功更改我的 ulimit 实时优先级和 memlock:

打开/etc/security/limits.conf并添加这些行(将 'tyler' 替换为您的 Ubuntu 用户名)

  • 泰勒 硬 rtprio 95
  • 泰勒软 rtprio 95
  • 泰勒硬内存锁无限
  • 泰勒软memlock无限

打开/etc/pam.d/su并确保存在以下行,并且没有注释掉:

session    required   pam_limits.so
Run Code Online (Sandbox Code Playgroud)

之后,我只需要重新启动我的电脑,然后我就可以使用这个终端命令来检查我的 ulimit:

ulimit -r -l
Run Code Online (Sandbox Code Playgroud)