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

2016. 10. 19. 19:24BigDATA/spark

반응형

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 rdd programining  (0) 2018.12.30
spark-submit deploy-mode option  (0) 2016.11.02
1탄. SPARK를 설치해보자~  (0) 2016.10.18
spark log4j 사용해보기!  (0) 2016.07.04
spark logback 설정?  (0) 2016.06.29