Aller au contenu principal

Problèmes de mémoire Spark

Vérification d'un problème de mémoire

Les problèmes de mémoire entraînent souvent des messages d'erreur tels que les suivants :

sh
SparkException: Job aborted due to stage failure: Task 3 in stage 0.0 failed 4 times, most recent failure: Lost task 3.3 in stage 0.0 (TID 30) (10.139.64.114 executor 4): ExecutorLostFailure (executor 4 exited caused by one of the running tasks) Reason: Remote RPC client disassociated. Likely due to containers exceeding thresholds, or network issues. Check driver logs for WARN messages.

Ces messages d'erreur sont toutefois souvent génériques et peuvent être dus à d'autres problèmes. Ainsi, si vous soupçonnez un problème de mémoire, vous pouvez vérifier le problème en doublant la mémoire par cœur pour voir si cela a un impact sur votre problème.

Par exemple, si vous avez un type de worker avec 4 cœurs et 16 Go de mémoire, vous pouvez essayer de passer à un type de worker qui a 4 cœurs et 32 Go de mémoire. Cela vous donnera 8 Go par cœur, contre 4 Go par cœur auparavant. C'est le rapport entre les cœurs et la mémoire qui importe ici. Si la défaillance prend plus de temps avec la mémoire supplémentaire ou ne se produit pas du tout, c'est un bon signe que vous êtes sur la bonne voie.

Si vous pouvez résoudre votre problème en augmentant la mémoire, c'est excellent ! C'est peut-être la solution. Si cela ne résout pas le problème, ou si vous ne pouvez pas supporter le coût supplémentaire, vous devriez approfondir la question.

Causes possibles

Il existe de nombreuses raisons potentielles aux problèmes de mémoire :