Je me heurte à un problème assez courant dans la configuration d'un cluster hadoop (en fait, il utilise Le pseudo cluster distribué de Cloudera sur une seule machine), où le nombre de fichiers ouverts par Hadoop dépasse les limites du système de fichiers. Cloudera recommande en ajoutant les lignes suivantes à /etc/security/limits.conf
:
hdfs hard nofile 16384 # hdfs is my 'hadoop' user equivalent
et, comme je tourne sous le noyau 2.6.32, j'ai également édité /etc/sysctl.conf
:
fs.epoll.max_user_instances = 4096
Après avoir effectué ces changements et redémarré mon serveur, j'obtiens toujours la même erreur ! Il semble toujours que les limites de fichiers ouverts de hdfs n'aient pas été augmentées au-delà des 1024 par défaut :
[bash]$ sudo lsof | awk '{print $3}' | sort | uniq -c | sort -nr
2145 root
1495 hdfs
610 mapred
359 www-data
305 rdm
116 mysql
83 rabbitmq
32 messagebus
30 snmp
25 ntp
23 syslog
16 daemon
1 USER
Au fur et à mesure de mes recherches, il apparaît clairement que l'augmentation des limites de taille des fichiers dépend fortement du système (même dans Ubuntu ; aquí , aquí y aquí ), j'ai donc voulu voir quelle était la méthode d'Ubuntu. Quelqu'un sait-il comment augmenter ces limites dans Ubuntu 10.04 ?
Je préfère nettement les solutions qui n'augmentent pas les limites pour tous les utilisateurs, mais à ce stade, je suis prêt à tout essayer. Je vous remercie de votre aide !