실제 장비에서 memory를 할당하지 못한 경우인 것 같은데.
정확한 원인은 알 수가 없다.
일단 로그를 열어보자...
로그파일의 제일 하단에 보면 아래와 같이 나와있다.
swap 영역의 free 공간은 0k로 존재하지 않으며, 실제적인 물리 메모리도 28236k로 약 28MB정도만 남아있다.
Spark App 수행시 기본적으로 jvm_opts 정보를 환경변수로 사용되는데. 로그 중간 부분을 확인해보면 아래와 같이 수행됨을 확인 할 수 있다.
Perm 영역이 128MB이고, xms 가 512MB로 수행된다.
다시 Spark App 수행시 console 로그를 확인해보자.
약 340MB 를 할당하지 못해 오류가 발생하였다.
그럼 왜 340MB 일까? Spark App 수행시 기본적으로 340MB 가 필요한 것일까?
구글링을 해보니 SPARK_MEM과 SPARK_WORK_MEMORY 설정을 통해 memory 를 조절하라고 조언을 한다.
현재 512MB로 설정되어 있는 work_memory를 얼마나 더 줄여야 하는지 감이 오질 않는다.
권장 memory 설정은 없는지. Test 환경에서는 어느 정도가 적당한지 확인해 볼 필요가 있을 것 같다.
임시로 Spark Cluster를 재구동 후 수행하면 memory 오류가 발생하지 않는다.
'BigData > Spark' 카테고리의 다른 글
Learning Spark Chapter. 2 스파크 설치 및 무작정 시작하기 (2) | 2015.07.03 |
---|---|
Learning Spark Chapter. 1 스파크를 이용한 데이터 분석 (0) | 2015.07.03 |
Spark로 WordCount 구현하기. #2 (0) | 2015.05.21 |
Spark로 WordCount 구현하기. #1 (0) | 2015.05.21 |
Apache Spark: Transformations 샘플 (0) | 2015.03.17 |