Partage via


Problèmes de mémoire Spark

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

Les problèmes de mémoire génèrent souvent des messages d’erreur tels que le suivant :

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.

Néanmoins, ces messages d’erreur sont souvent génériques et peuvent être causés par d’autres problèmes. Par conséquent, si vous pensez que vous avez un problème de mémoire, vous pouvez vérifier la nature du 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 Worker avec quatre cœurs et 16 Go par mémoire, vous pouvez essayer de basculer vers un type Worker qui a quatre cœurs et 32 Go de mémoire. Cela vous donnera 8 Go par cœur, plutôt que les 4 Go par cœur que vous aviez précédemment. Ici, c’est le ratio entre le nombre de cœurs et la mémoire qui est important. Si, avec la mémoire supplémentaire, l’échec prend plus de temps 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, tant mieux. C’est peut-être la solution. Si cela ne résout pas le problème, ou si vous ne pouvez pas assumer le coût supplémentaire, vous devez approfondir votre investigation.

Causes possibles

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