Exception in thread "main" java.lang.IllegalArgumentException: Required executor memory (2048), overhead (384 MB), and PySpark memory (0 MB) is above the max threshold (2048 MB) of this cluster! Please check the values of 'yarn.scheduler.maximum-allocation-mb' and/or 'yarn.nodemanager.resource.memory-mb'.
위와 같은 에러를 만났는데, 아래 블로그 글을 읽고 원인을 파악한 후 해결했다.
https://m.blog.naver.com/gyrbsdl18/220594197752
$HADOOP_HOME/etc/hadoop/yarn-site.xml 에 보면
yarn.scheduler.maximum-allocation-mb 값이 있다.
이 값이 너무 작아서 클라이언트가 요구하는 리소스를 할당해주지 못해 생긴 에러다.
yarn.scheduler.maximum-allocation-mb 값을
yarn.nodemanager.resource.memory-mb 값 이하 범위에서 늘려주면 된다.
위 링크의 필자는 yarn.scheduler.maximum-allocation-mb 값과 yarn.nodemanager.resource.memory-mb 값을 똑같이 준다고 하시더라.
값을 바꿔준 후에
stop-all.sh; start-al.sh
등의 명령어로 yarn 을 다시 시작하면 된다.
'Spark' 카테고리의 다른 글
[Scala] map vs flatmap 차이 (0) | 2019.12.09 |
---|---|
[Spark] 성능 튜닝 참고 링크들 (0) | 2019.11.21 |
[Spark] mongo-spark connector 로 aggregation 쿼리 보내는 예제 코드 (0) | 2019.11.06 |
[Spark] Resource 제한하는 방법 (0) | 2019.11.05 |
[Spark] Master option 설명 (0) | 2019.11.02 |