Je travaille avec hadoop et ai besoin de changer le nombre de fichiers ouverts ulimit -n
. J'ai vu des questions similaires sur stackoverflow et ailleurs et j'ai tout essayé dans ces réponses, mais cela ne fonctionne toujours pas. Je travaille avec ubuntu 12.04 LTS
. Voici ce que j'ai fait:
changer les limites dans /etc/security/limits.conf
, j'ai mis les réglages pour * et root
. J'ai également modifié les limites d'un nombre tel que 10000
et unlimited
.
* soft nofile 1513687
* hard nofile 1513687
root soft nofile 1513687
root hard nofile 1513687
J'ai également essayé le réglage ci-dessus avec -
au lieu de soft
et hard
. Après ces modifications, j'ai apporté des modifications aux fichiers /etc/pam.d/
tels que:
common-session
common-session-noninterative
login
cron
sshd
su
Sudo
j'ai ajouté session required pam_limits.so
au début de chaque fichier. J'ai fait un redémarrage de la boîte en question et les paramètres n'ont pas pris effet.
J'ai également constaté qu'il y avait des fichiers dans le répertoire /etc/security/limits.d/
pour les utilisateurs hbase
mapred
et hdfs
. J'ai essayé de modifier les limites dans ces fichiers individuels aussi sans succès.
J'ai essayé de mettre ulimit -S -n unlimited
à l'intérieur de /etc/profile
également. Cela n'a pas fonctionné.
Enfin, j'ai essayé de placer les fichiers limit nofile unlimited unlimited
à l'intérieur de /etc/init.d/hadoop*
en première ligne. N'a pas fonctionné.
Une chose intéressante est que hbase n’est pas installé sur la boîte, mais j’ai un fichier hbase.conf
dans le répertoire /etc/security/limits.d/
. Les paramètres de ce fichier sont reflétés avec ulimit -n
. Mais les réglages de hdfs.conf
et mapred.conf
ne sont pas reflétés. Ce qui suggère que quelque chose écrase les paramètres pour hdfs
et mapred
.
J'imagine que j'ai essayé toutes les personnes suggérées sur plusieurs forums. Y a-t-il autre chose que j'ai peut-être manqué ou mal fait?
J'utilise CDH 4.4.0
comme distribution hadoop.
J'ai réussi à changer ma priorité ulimit en temps réel et à mémlock en procédant comme suit:
Ouvrez / etc/security/limits.conf et ajoutez ces lignes (remplacez 'tyler' par votre nom d'utilisateur Ubuntu)
Ouvrez / etc/pam.d/s et assurez-vous que la ligne suivante est présente et non commentée:
session required pam_limits.so
Après cela, je devais juste redémarrer mon ordinateur, puis je pouvais utiliser cette commande de terminal pour vérifier mon ulimit:
ulimit -r -l