코알못

[Spark] ExecutorLostFailure, RuntimeException 본문

BIG DATA

[Spark] ExecutorLostFailure, RuntimeException

코린이s 2023. 3. 20. 12:57
728x90

SparkSql 실행중 해당 이슈 발생 하였으며

ExecutorLostFailure는 디스크 부족 이슈이며 메모리 부족시에는 RuntimeException 발생한다고 한다.

디스크 이슈는 Core노드쪽 확인하며 메모리 이슈의 경우 Core, Task 노드 모두 확인한다.

저자의 경우 메모리 사용량이 서버별로 30% 밖에 사용하지 않아 메모리 사용 설정을 변경 하였으며 3가지 방안이 있다.

1. Job 레벨에서 Spark 드라이버 메모리 조정 [1][2]

  [1] https://docs.cloudera.com/HDPDocuments/HDP3/HDP-3.1.4/using-zeppelin/content/zeppelin_customize_interpreter_settings.html 
  [2] https://zeppelin.apache.org/docs/latest/interpreter/spark.html 

 

Apache Zeppelin 0.10.0 Documentation: Apache Spark Interpreter for Apache Zeppelin

spark.repl.target jvm-1.6 Manually specifying the Java version of Spark Interpreter Scala REPL,Available options: scala-compile v2.10.7 to v2.11.12 supports "jvm-1.5, jvm-1.6, jvm-1.7 and jvm-1.8", and the default value is jvm-1.6. scala-compile v2.10.1 to

zeppelin.apache.org

2. EMR 콘솔에서 파리미터 업데이트 [3]

  [3] Spark 구성 - Spark 기본 설정 변경하기 - https://docs.aws.amazon.com/ko_kr/emr/latest/ReleaseGuide/emr-spark-configure.html#spark-change-defaults 

3. 클러스터 레벨에서 Spark 드라이버 메모리 조정(실행중인 클러스터 Master 노드의 "spark-defaults.conf"를 수정)
 i) sudo vim /etc/spark/conf/spark-defaults.conf
 ii) "spark.driver.memory" 옵션값 변경
 iii) Spark history server/resource manager restart

 sudo systemctl restart spark-history-server.service
 sudo systemctl status spark-history-server.service
 sudo systemctl restart hadoop-yarn-resourcemanager  
 sudo systemctl status hadoop-yarn-resourcemanager


메모리 관련 설정 방안은 아래 AWS 공식 페이지를 참고한다.

  [4] Best practices for successfully managing memory for Apache Spark applications on Amazon EMR - https://aws.amazon.com/ko/blogs/big-data/best-practices-for-successfully-managing-memory-for-apache-spark-applications-on-amazon-emr/

728x90
Comments