web-dev-qa-db-fra.com

Changer ulimit sur Ubuntu 12.04 Ne fonctionne jamais

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 hbasemapred 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.

4
Ravi Bhatt

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)

  • tyler dur rtprio 95
  • tyler soft rtprio 95
  • tyler hard memlock illimité
  • tyler soft memlock illimité

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
7
tyler.frankenstein