1

신선한 EMR 클러스터를 돌린 후 스파크 애플리케이션을 두 번 성공적으로 실행했습니다. 메모리 문제가없는 다른 Spark Application을 여러 번 실행 한 후 첫 번째 스파크 애플리케이션을 다시 실행하여 메모리 오류가 발생했습니다.Spark Application을 여러 번 실행 한 후에 만 ​​메모리 오류가 발생하는 이유는 무엇입니까?

이 일련의 이벤트가 3 번 반복되고 매번 발생합니다. 무슨 일이 일어날 수 있니? 실행 사이에 모든 메모리를 해제해야하지 않습니까?

+1

그것은 이유를 정확히 메모리 오류 중 어쩌면에 스택 추적을하려고하고있는 일에 대해 좀 더 많은 정보없이 파악하기 어렵다. –

답변

0

스파크 프로그램이 완료된 후 임시 디렉토리가 생성되고 임시 디렉토리에 남아 있기 때문에 여러 스파크 응용 프로그램을 실행 한 후 메모리 오류가 발생할 수 있습니다. 이 문제를 해결할 수있는 정리 옵션이 있습니다.

spark.worker.cleanup.enabled (기본값은 false 임)이 내용에 대한 자세한 내용은 spark.worker.cleanup.intervalspark.worker.cleanup.appDataTtl입니다.

http://spark.apache.org/docs/latest/spark-standalone.html#cluster-launch-scripts

+0

이것은 메모리 부족 오류에 어떻게 기여합니까? 디스크 공간 문제가 더 많을 것이라고 생각합니다. –

+0

이 임시 디렉토리가 더 많은 메모리를 차지한 후 메모리 부족 문제가 발생했을 때 ... 나는이 임시 디렉토리를 지우고 프로그램을 실행 해보라고 제안했다. –