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

 

YARN (MR2 Included) 설정 가이드

1) yarn-site.xml yarn이 관리하는 "리소스" 단위는 "컨테이너" 라고 볼 수 있다.컨테이너는 cpu와 ram으로...

blog.naver.com

 

 

$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 을 다시 시작하면 된다.

+ Recent posts