关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。
想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。
7年前关闭。
Improve this question
我正在使用 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/
目录。此文件中的设置反射(reflect)为 ulimit -n
.但是来自 hdfs.conf
的设置和 mapred.conf
没有反射(reflect)。这表明某些东西正在覆盖 hdfs
的设置和 mapred
.我想我已经尝试了几个论坛上人们建议的所有内容,还有什么我可能错过或做错的吗?
我正在使用
CDH 4.4.0
作为我的 hadoop 发行版。
最佳答案
你如何检查ulimit?
我遇到了类似的问题,我将运行 sudo ulimit -n
,仍然可以看到 1024
.这是因为 ulimit
是内置的 Bash。为了看到/etc/security/limits.conf
中反射(reflect)的变化,我不得不跑 ulimit
作为实际用户。
关于hadoop - 在 ubuntu 12.04 上更改 ulimit 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20783137/