ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [spark] spark cluster
    computer/빅데이터 2016. 4. 29. 16:28

    스파크 본문 내용 번역 : http://spark.apache.org/docs/latest/submitting-applications.html

    작성중


    Application들 보내기

    spark-submit 스크립트는 Spark의 bin 디렉토리에 있다. 이 스크립트는 cluster에서 application을 실행할때 사용된다.

    이것은 공통된 인터페이스를 통해 cluster managers를 지원하는 Spark의 모든곳에서 사용된다. (cluster manager : Standalone, mesos, yarn)

    그래서 당신은 각 서버에서 특별하게 당신의 application을 구성할 필요가 없다.


    Application의 의존성 묶기

    만약 당신의 코드가 다른 프로젝트들을 의존하고 있다면, Spark Cluster에 코드를 배포하기 위해, 너는 너의 application과 함께 그것을 패키지로 만드는게 필요할 것이다. 이것을 위해서, 너의 코드와 그것의 의존성들을 포함한 조립jar (=assembly jar (or “uber” jar))를 만든다. sbt나 Maven 은 조립하는 플러그인을 가지고 있다. 

    jar를 파일을 만들때, Spark와 Hadoop을 제공된 의존성으로 리스트에 포함시킨다.; 런타임에 cluster manager가 그들을 제공할때까지 이것들은 묶어지지 않아도 된다. 만약 너가 조립된 jar를 가진다면, 너는 bin/spark-submit 스크립트를 호출하면 된다. jar를 보내는 동안 여기에 보여지기 위해서,


    파이썬에선, 너는 application과 함께 배포되어지는 파일들(.py.zip or .egg)을 추가하기 위해, spark-submit --py-files를 사용하면 된다.

    만약 여러개의 파이썬 파일을 의존하고 있다면, 그것들을 .zip or .egg 으로 패키징하기를 권장한다.


    spark-submit을 이용한 Applications 실행하기

    유저의 application이 묶여 있다면, 그것은  bin/spark-submit스크립트를 이용하여 실행할수 있다. 이 스크립트는 spark와 이것의 의존성들과 Spark의 classPath를 셋팅하는 것, 다른 cluster managers, 스파크가 지원하는 배포모드를 제공한다.

    ./bin/spark-submit \
      --class <main-class>
      --master <master-url> \
      --deploy-mode <deploy-mode> \
      --conf <key>=<value> \
      ... # other options
      <application-jar> \
      [application-arguments] 

    보통 사용되는 옵션들 :

    • --class : application 진입 포인트 ( ex. java라면 main 메소드가 있는 클래스를 작성하면 된다.)
    • --master : 클러스터의 master URL 
    • --deploy-mode : worker nodes에 너의 driver를 배포할지, 내부에서 외부 client로 보낼지
    • --conf : key=value 포맷으로 구성된다. space를 포함한 값들은 "큰 따옴표로 작성한다.
    • application-jar : 
    • application-arguments : main class 실행시 필요한 argument ( 필요하면 작성, 안필요하면 작성안해도 됨)



    'computer > 빅데이터' 카테고리의 다른 글

    Spark and Spark Streaming Unit Testing  (0) 2016.08.05
    Apache Flume  (0) 2016.04.04
    [빅데이터] 왜 이슈가 되었나  (0) 2016.03.22
Designed by Tistory.