Compartir vía


Problemas de memoria de Spark

Comprobación de un problema de memoria

Los problemas de memoria suelen dar lugar a mensajes de error como los siguientes:

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.

Estos mensajes de error, sin embargo, suelen ser genéricos y pueden deberse a otros problemas. Por lo tanto, si sospecha que tiene un problema de memoria, puede comprobarlo duplicando la memoria por núcleo para ver si afecta a su problema.

Por ejemplo, si tiene un tipo de trabajo con 4 núcleos y 16 GB por memoria, puede intentar cambiar a un tipo de trabajo que tenga 4 núcleos y 32 GB de memoria. Esto le proporcionará 8 GB por núcleo en comparación con los 4 GB por núcleo que tenía antes. Lo que importa aquí es la relación entre núcleos y memoria. Si tarda más en fallar con la memoria adicional o no falla en absoluto, es una buena señal de que va por buen camino.

Si puede solucionar su incidencia aumentando la memoria, genial. Quizás esa es la solución. Si no soluciona el problema o no puede asumir el costo adicional, debería profundizar más.

Causas posibles:

Hay muchas razones potenciales para los problemas de memoria: