2017-10-06 9 views
0

스파크 프로그램을 개발하는 동안 로컬 컴퓨터를 사용하므로 setMaster를 "로컬"로 설정해야합니다. 그러나, 내 로컬 개발 된 프로그램에서 작성된 항아리를 제출할 때 분명히 "로컬"모드를 사용하지 않으려합니다.스파크 코드에서 conf.setMaster() 설정 파일을 사용하여 로컬 또는 원사 클러스터 자동 설정

테스트 할 때 typesafeconfig를 사용하고 프로덕션 환경에서 "yarn-cluster"를 설정하려면 어떻게해야합니까?

편집 : IDEA 인 IntelliJ @Shaido의 솔루션을 기반으로

:

로 이동 : 실행 -> edir confirgurations-> 응용 프로그램 구성 설정에서 : 이상적으로 VM options = -Dspark.master=local[*]

답변

0

IDE를 사용하는 경우 코드에 setMaster을 하드 코딩 할 필요가 없습니다. > "인수"- -

이클립스를 들어, "실행 구성"에 갈 수> "VM 인수"와

-Dspark.master=local[*] 

로컬로 실행되는 경우에 사용 가능한 모든 코어를 사용합니다 추가 할 수 있습니다. 다른 IDE도 비슷한 구성을 가져야합니다. 이렇게하면 코드 자체에 아무 것도 추가 할 필요가 없습니다.

클러스터에서 실행, 사용 :

spark-submit --master yarn --deploy-mode cluster 
0

yarn-cluster 또는 local은 spark-submit과 함께 명령 행 입력으로 제공되어야하며 코드에 하드 코드되지 않아야합니다. 로컬에서 제출하는 경우 클러스터에서 제출하고 local하는 경우는

spark-submit --master yarn --deploy-mode cluster in spark 2.1 

를 전달할 수 있습니다.