Comment puis-je résoudre l'erreur « Timeout waiting for connection from pool (Délai d'attente de connexion du groupe expiré) » dans Amazon EMR ?

Lecture de 2 minute(s)
0

La tâche My Apache Hadoop dans Amazon EMR a échoué avec le message d'erreur « Timeout waiting for connection from pool (Délai d'attente de connexion du groupe expiré) ».

Solution

Cette erreur se produit généralement lorsque vous atteignez la limite de connexion EMRFS (Amazon EMR File System) pour Amazon S3 (Amazon Simple Storage Service). Pour résoudre cette erreur, augmentez la valeur de la propriété fs.s3.maxConnections. Vous pouvez le faire pendant que votre cluster est en cours d'exécution ou lorsque vous créez un cluster.

1.    Connectez-vous au nœud principal à l'aide de SSH.

2.    Exécutez la commande suivante pour ouvrir le fichier emrfs-site.xml en tant que sudo. Ce fichier se trouve dans le répertoire /usr/share/aws/emr/emrfs/conf.

sudo vi /usr/share/aws/emr/emrfs/conf/emrfs-site.xml

3.    Réglez la propriété fs.s3.maxConnections sur une valeur supérieure à 50. Dans l'exemple suivant, la valeur est définie sur 100. Vous devrez peut-être choisir une valeur supérieure, en fonction du nombre de connexions S3 simultanées dont vos applications ont besoin.
Remarque : si vous lancez votre cluster avec Apache HBase, la valeur fs.s3.maxConnections est réglée sur 1000 par défaut. Si l'augmentation de la valeur de fs.s3.maxConnections ne permet pas de résoudre l'erreur liée à l'expiration du délai d'attente, vérifiez les éventuelles fuites de connexion de vos applications.

<property>
  <name>fs.s3.maxConnections</name>
  <value>100</value>
</property>

4.    Recommencez les étapes 2 et 3 sur tous les cœurs et nœuds de tâches. Utilisez la même valeur fs.s3.maxConnections que celle que vous avez utilisé sur le nœud principal.
Remarque : avec Amazon EMR versions 5.21.0 et ultérieures, vous pouvez reconfigurer les applications de cluster et spécifier des classifications de configuration supplémentaires pour chaque groupe d'instances d'un cluster en cours d'exécution. Pour en savoir plus, consultez Reconfiguration d'un groupe d'instances dans un cluster en cours d'exécution.

5.    Exécutez à nouveau la tâche Hadoop. Votre application doit utiliser la nouvelle valeur pour fs.s3.maxConnections sans redémarrage du service.

Pour régler la valeur de la propriété fs.s3.maxConnections sur tous les nœuds au lancement d'un nouveau cluster, utilisez un objet de configuration semblable à ce qui suit. Pour en savoir plus, consultez la rubrique Configure applications (Configuration des applications).

[
  {
    "Classification": "emrfs-site",
    "Properties": {
      "fs.s3.maxConnections": "100"
    }
  }
]

Informations connexes

Gestion du stockage et des systèmes de fichiers

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans