executor 개수를 늘리려면 spark-submit 이나 spark-shell 명령어를 사용할 때 아래 옵션을 같이 주면 된다.

 

--num-executors

 

예를 들면 

spark-shell --master yarn --num-executors 12

 

 

 

spark history server 를 보면, 어떤 job 을 처리할 때 얼마나 많은 executor 가 쓰였는지 볼 수 있다.

 

cluster manager 를 yarn 으로 두고 실행을 하면, yarn 이 제공해주는 resource 위에서 executor 가 만들어진다.

 

내가 --num-executors 를 30으로 줬는데 5개밖에 돌아가질 않는 상황이 올 수 있다.

 

5개 밖에 돌아가지 않는 이유는, yarn 의 resource 가 작아 5개밖에 executor 를 못 올리기 때문이다.

 

5개 이상 executor 를 올리고 싶다면, yarn 의 resource 를 늘리면 된다.

 

아래 링크를 참고하여 yarn 의 memory 를 늘려보자.

 

https://eyeballs.tistory.com/165

 

참고로 spark master 뿐만 아니라 spark worker 에 있는 모든 yarn-site.xml 을 수정해야 한다.

 

그래야 병렬로 실행할 때 resource 가 늘어나니까.

 

수정 한 후에는 stop-yarn.sh; start-yarn.sh 로 수정 사항을 적용하게 하자.

 

 

 

 

+ Recent posts