Spark deploy mode (Cluster/Client)
Client mode (기본값)
- driver가 클러스터 외부에 있다. 즉, spark-submit이 드라이버를 자신이 실행되는 머신 위에서 실행된다.
- Application Master는 단순히 노드 매니저에게 자원 요청만 하고 Spark 애플리케이션에서 사용 중인 리소스를 표시하기 때문에, 주로 개발과정에서 대화형 디버깅을 할 때 의미가 있다.
Cluster mode
- driver가 클러스터 내부에 있기 때문에, 클러스터의 작업 노드에서 실행되도록 드라이버를 전송한다.
- dirver가 Application Master 상에서 동작하기 때문에, 사용하는 리소스를 worker node에서 확인을 해야한다.
- production 환경 개발을 할때 의미가 있다.
참고