Ace-T's Blog 내 검색 [네이버 커넥트 이웃 합니다~^-^/ 요청 大 환영~~]

spark-submit deploy-mode option

BigDATA/spark 2016.11.02 17:45
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


  • Client mode
    • Want to get a job result (dynamic analysis)
    • Easier for developping/debugging
    • Control where your Driver Program is running
    • Always up application: expose your Spark job launcher as REST service or a Web UI
  • Cluster mode
    • Easier for resource allocation (let the master decide): Fire and forget
    • Monitor your Driver Program from Master Web UI like other workers
    • Stop at the end: one job is finished, allocated resources a freed


spark-submit 관련 


저작자 표시 비영리 변경 금지
신고

'BigDATA > spark' 카테고리의 다른 글

spark-submit deploy-mode option  (0) 2016.11.02
2탄. SPARK를 설치해보자~(클러스터)  (0) 2016.10.19
1탄. SPARK를 설치해보자~  (0) 2016.10.18
spark log4j 사용해보기!  (0) 2016.07.04
spark logback 설정?  (0) 2016.06.29
spark-submit 옵션 관련  (0) 2016.05.16

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

2탄. SPARK를 설치해보자~(클러스터)

BigDATA/spark 2016.10.19 19:24
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

2016/10/18 - [BigDATA/spark] - 1탄. SPARK를 설치해보자~


1탄. 단일모드 

2탄. 클러스터 모드 

3탄. 기타 유용 셋팅(스파크 관련)


우선 분산 클러스터로 셋팅하기전에! 요것만큼은 알고가자는 의미에서 살짝 정리해본다.

1. Spark 구조

(펌: https://www.google.co.kr/search?q=spark+%EA%B5%AC%EC%A1%B0&newwindow=1&biw=1598&bih=976&source=lnms&tbm=isch&sa=X&sqi=2&ved=0ahUKEwi1y4ut0ObPAhWqiVQKHWFaDgcQ_AUIBigB&dpr=1#imgrc=EdvQ87Vu0XWkMM%3A)


여기에서 Stand alone Scheduler , YARN, Apache Mesos는 클러스터 매니저의 종류이다. 총 3가지~여기에서 스파크가 돌아간다! 
밑에서 더 이야기 하겠음!


2. Spark RDD..꼭 알아야하나?

알아야한다~코딩하려면 뭔지는 알고 코딩하자!

또한 스파크의 핵심기능으로써 분산 되어있는 변경불가능한 객체의 모음이라고 생각하자.

2가지 타입으로 구분

   1) transformation 2) action 으로 구분되어진다.

간단히 말하면 1)은 기존 RDD를 new RDD로 리턴 하는 것(ex. filter(), map() 등)

2)는 기존 RDD를 계산하여 저장하거나 다른 타입으로 리턴하는 것.

Spark는 RDD의 내용을 메모리에 클러스터의 머신들에 나뉘어서 저장 -> action에서 재사용!


또한 실행구조는 분산모드일 경우!

마스터 / 슬레이브의 구조!

여기에서 마스터는 드라이버(driver)라고 불림. 슬레이브는 익스큐터(executor) => 이것을 Spark Application이라고 함!

이녀석들은 서로 독립된 java process로 돌아감.

용어중에 Task는 스파크 작업 계층에서 최소 개체라고 보면 된다.


3. 실행 흐름

  1.  사용자 프로그램을 스파크에 제출! -> spark-submit.sh 
  2.  드라이버 실행 : 익스큐터 실행을 위한 리소스를 클러스터 매니저에 요청.
  3. 클러스터 매니저는 익스큐터를 실행.
  4. 드라이버는 main() 메소드를 호출! 이때 작업 내역을 단위 작업 형태(task)로 나눠 익스큐터에게 보낸다.
  5. 익스큐터는 task를 실행.
  6. 드라이버 : main()이 끝이거나 SparkContext.stop() 호출 시 익스큐터들을 중지! 
    클러스터 매니저에 사용했던 자원을 반환!

작성 중..~





저작자 표시 비영리 변경 금지
신고

'BigDATA > spark' 카테고리의 다른 글

spark-submit deploy-mode option  (0) 2016.11.02
2탄. SPARK를 설치해보자~(클러스터)  (0) 2016.10.19
1탄. SPARK를 설치해보자~  (0) 2016.10.18
spark log4j 사용해보기!  (0) 2016.07.04
spark logback 설정?  (0) 2016.06.29
spark-submit 옵션 관련  (0) 2016.05.16

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

1탄. SPARK를 설치해보자~

BigDATA/spark 2016.10.18 17:48
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

해당 포스팅은 총 3부로 구성될 예정 입니다.

1탄. 단일모드 

2탄. 클러스터 모드

3탄. 기타 유용 셋팅(스파크 관련)

 

1탄. SPARK를 설치해보자~


Apache Spark 설치!

버전은 1.6.1 / hadoop 2.6으로 해서 다운받아보겠습니다. (현업에서 사용중인게 요거라서 요걸로!)

Step 1. 아래의 링크를 통해 스파크를 다운 받아보자!

http://spark.apache.org/downloads.html



Step 2. down을 받아서 원하는 서버에서 압축을 풀어줍니다.

압축을 해제하고 내용을 보면 아래와 같습니다.


Step 3. Spark는 대화형 쉘들을 제공 합니다.

파이썬과 스칼라가 있는데요 

즉석 데이터를 분석하기에 좋습니다.

실행은?

1) 파이썬 쉘  

ㄴ bin directory에 가서 ./pyspark 를 실행시키면 아래와 같이 수행되어집니다.

2) 스칼라 쉘

ㄴ bin/spark-shell 를 수행!


간단히 테스트를 해보자.

내용은 스파크 퀵 스타트를 통해 해보자!

http://spark.apache.org/docs/latest/quick-start.html


따라해보기!


Step 4. Log 설정을 해보자.

Spark에서의 로그는 아래와 같이 설정할 수가 있다.

아래의 템플릿 중에 log4j.properties.template를 복사해서 log4j.properties를 만들면 된다.

많이 사용되어지는 친구이기 때문에 잘 아실거라 믿는다.

내용은!? 아래처럼 INFO로 설정이 되어있어서 spark-shell를 수행시키면 많은 정보들이 나오게 된다. 
INFO->WARN으로 변경을 한다면 적은 내용의 정보가 보인다.


- 1탄 끝~ -




저작자 표시 비영리 변경 금지
신고

'BigDATA > spark' 카테고리의 다른 글

spark-submit deploy-mode option  (0) 2016.11.02
2탄. SPARK를 설치해보자~(클러스터)  (0) 2016.10.19
1탄. SPARK를 설치해보자~  (0) 2016.10.18
spark log4j 사용해보기!  (0) 2016.07.04
spark logback 설정?  (0) 2016.06.29
spark-submit 옵션 관련  (0) 2016.05.16

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

spark log4j 사용해보기!

BigDATA/spark 2016.07.04 15:35
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


구조는 아래와 같습니다.

  • assembly.jar              // assembly한 소스! jar
  • spark-submit.sh         // spark-submit의 내용이 있는 shellscript
  • log4j-acet.properties  // 우리가 사용하는 log4j.properties


아래의 spark-submit 에서 아래의 옵션을 2가지 추가 해줍니다.(즉, spark-submit.sh안에서!)

예시)

LOG_PATH=file:/full path를 적어줍니다./log4j-acet.properties

$SPARK_HOME/bin/spark-submit --class "Main" \

    --conf spark.executor.extraJavaOptions="-Dlog4j.configuration=$LOG_PATH" \

    --driver-java-options "-Dlog4j.configuration=$LOG_PATH" \



필요없는 설정들

1) main> resources 에 설정 필요 X

2) sbt에 아래의 설정 필요 X

//  "org.slf4j" % "slf4j-api" % "1.7.21",
// "org.slf4j" % "log4j-over-slf4j" % "1.7.12",


 - 끝 -

저작자 표시 비영리 변경 금지
신고

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

spark logback 설정?

BigDATA/spark 2016.06.29 11:45
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


spark에서 돌아가는 app에서 logback.xml을 설정하여 사용하고 싶었습니다.


환경은!


spark 1.5.2

scala 2.10.6


그리고 아래와 같이 build.sbt에 설정! 

"ch.qos.logback"  %  "logback-classic"      % "1.1.6" 


그러나 spark conf쪽의 log4j.properties를 조정하면 영향을 받음. 배제 시켜야할 듯 어디에서? 스파크에서!

그러므로 그냥 logback 말고 log4j를 사용하는게 좋을듯!


더보기



결론 : spark 할때는 logback 바인딩이 어려우니 그냥 속편하게 log4j 사용하자! 끝~



참고 : http://stackoverflow.com/questions/31790944/best-way-to-send-apache-spark-loggin-to-redis-logstash-on-an-amazon-emr-cluster


spark + log4j 설정 방법

2016/07/04 - [BigDATA/spark] - spark log4j 사용해보기!


저작자 표시 비영리 변경 금지
신고

'BigDATA > spark' 카테고리의 다른 글

1탄. SPARK를 설치해보자~  (0) 2016.10.18
spark log4j 사용해보기!  (0) 2016.07.04
spark logback 설정?  (0) 2016.06.29
spark-submit 옵션 관련  (0) 2016.05.16
ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread  (0) 2016.05.11
spark와 친해지기!  (0) 2016.03.22

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

spark-submit 옵션 관련

BigDATA/spark 2016.05.16 17:31
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


Spark Submit의 옵션들에 대해서 알아보자.

$SPARK_HOME/bin/spark-submit --class "Main" \

    --master spark://acet.pe.kr:7077 \

    --executor-memory 4G \

    --total-executor-cores 25 \

    --conf spark.driver.memory=2G \

    --properties-file $CONF_NAME \

    --conf spark.driver.extraJavaOptions='-Xms1024m -Xmx2048m' \

    /home/acet/service/hahaha/good-dev-assembly-1.0.jar




--master  // 스파크 마스터의 URL을 적어준다.

The cluster manager to connect to. See the list of allowed master URL's.


--executor-memory  // executor process 마다 사용되어지는 메모리의 양이다.

Amount of memory to use per executor process (e.g. 2g, 8g).


--total-executor-cores // 전체 executor process 코어 수.


--conf spark.driver.memory // driver process가 사용되어지는 메모리 양.

Amount of memory to use for the driver process, i.e. where SparkContext is initialized. (e.g. 1g, 2g). 
Note: In client mode, this config must not be set through the SparkConf directly in your application, because the driver JVM has already started at that point. Instead, please set this through the --driver-memory command line option or in your default properties file.


--properties-file  내가 원하는 파일의 properties를 사용할 수 있음.


--conf spark.driver.extraJavaOptions // 

A string of extra JVM options to pass to the driver. For instance, GC settings or other logging. 
Note: In client mode, this config must not be set through the SparkConf directly in your application, because the driver JVM has already started at that point. Instead, please set this through the --driver-java-options command line option or in your default properties file.



참고 URL

http://spark.apache.org/docs/latest/configuration.html#application-properties


http://spark.apache.org/docs/latest/submitting-applications.html

저작자 표시 비영리 변경 금지
신고

'BigDATA > spark' 카테고리의 다른 글

spark log4j 사용해보기!  (0) 2016.07.04
spark logback 설정?  (0) 2016.06.29
spark-submit 옵션 관련  (0) 2016.05.16
ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread  (0) 2016.05.11
spark와 친해지기!  (0) 2016.03.22
spark + scala + sbt 프로젝트!!  (0) 2016.03.22

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread

BigDATA/spark 2016.05.11 12:55
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T



아래와 같은 오류가 발생하였다.

원인은 스파크 버전이 달라서였다!


ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread[appclient-registration-retry-thread,5,main]

java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@4ce379d4 rejected from java.util.concurrent.ThreadPoolExecutor@60e14377[Running, pool size = 1, active threads = 0, queued tasks = 0, completed tasks = 1]

at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2047)

at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:823)

at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1369)

at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)

at org.apache.spark.deploy.client.AppClient$ClientEndpoint$$anonfun$tryRegisterAllMasters$1.apply(AppClient.scala:96)

at org.apache.spark.deploy.client.AppClient$ClientEndpoint$$anonfun$tryRegisterAllMasters$1.apply(AppClient.scala:95)

at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)

at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)

at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)

at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108)

at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)

at scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:108)

at org.apache.spark.deploy.client.AppClient$ClientEndpoint.tryRegisterAllMasters(AppClient.scala:95)

at org.apache.spark.deploy.client.AppClient$ClientEndpoint.org$apache$spark$deploy$client$AppClient$ClientEndpoint$$registerWithMaster(AppClient.scala:121)

at org.apache.spark.deploy.client.AppClient$ClientEndpoint$$anon$2$$anonfun$run$1.apply$mcV$sp(AppClient.scala:132)

at org.apache.spark.util.Utils$.tryOrExit(Utils.scala:1119)

at org.apache.spark.deploy.client.AppClient$ClientEndpoint$$anon$2.run(AppClient.scala:124)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)


   - 끝 -

저작자 표시 비영리 변경 금지
신고

'BigDATA > spark' 카테고리의 다른 글

spark log4j 사용해보기!  (0) 2016.07.04
spark logback 설정?  (0) 2016.06.29
spark-submit 옵션 관련  (0) 2016.05.16
ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread  (0) 2016.05.11
spark와 친해지기!  (0) 2016.03.22
spark + scala + sbt 프로젝트!!  (0) 2016.03.22

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

spark와 친해지기!

BigDATA/spark 2016.03.22 18:35
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


아마 아래와 같은 형태가 될것 같다.

  • sparkContext 클래스는 스파크클러스터의 연결과 스파크와 연동할 수 있는 엔트리 포인트를 제공.
    인스턴스를 생성하여 다양한 일을할 수 있다.

  • spark RDD : RDD(resilient distributed dataset)를 활용하면 데이터의 병렬처리를 쉽게할 수 있다.

spark 참고 사이트!!







저작자 표시 비영리 변경 금지
신고

'BigDATA > spark' 카테고리의 다른 글

spark log4j 사용해보기!  (0) 2016.07.04
spark logback 설정?  (0) 2016.06.29
spark-submit 옵션 관련  (0) 2016.05.16
ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread  (0) 2016.05.11
spark와 친해지기!  (0) 2016.03.22
spark + scala + sbt 프로젝트!!  (0) 2016.03.22

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

spark + scala + sbt 프로젝트!!

BigDATA/spark 2016.03.22 16:58
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

환경 : 

sbt : 0.13.11    - 참고 :  https://twitter.github.io/scala_school/ko/sbt.html

scala : 2.10.6

spark : 1.5.2




음..환경설정이 조금 짜증이 났지만..아래와 같은 프로젝트 구조가 생겼다.



이제 한번 scala의 문법을 공부해보자. 그런 뒤 spark를 사용하여 지지고 볶고 해보자!

일단 여기까쥐~

  - 끝 -



저작자 표시 비영리 변경 금지
신고

'BigDATA > spark' 카테고리의 다른 글

spark log4j 사용해보기!  (0) 2016.07.04
spark logback 설정?  (0) 2016.06.29
spark-submit 옵션 관련  (0) 2016.05.16
ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread  (0) 2016.05.11
spark와 친해지기!  (0) 2016.03.22
spark + scala + sbt 프로젝트!!  (0) 2016.03.22

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

티스토리 툴바