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 로 수정 사항을 적용하게 하자.
'Spark' 카테고리의 다른 글
[Spark] 기술 질문 대비 적어두는 것들 (0) | 2020.03.07 |
---|---|
[Spark] SparkSession 이란? (0) | 2020.02.21 |
[Spark] MongoDB connector for Apache Spark 웨비나 링크 (0) | 2020.02.05 |
[Spark] binary 형태의 데이터 읽는 방법 (0) | 2020.01.31 |
[AWS] amazon linux 에 scala, sbt 설치하는 방법 (0) | 2020.01.20 |