2014년 10월 19일 일요일

Spark 설치기 3 - Stand Alone on a Cluster 설치

우선 클러스터 모드 설치에 앞서 이론 공부 부터...
https://spark.apache.org/docs/latest/cluster-overview.html

그리고 설치 가이드 문서 정독하기.
https://spark.apache.org/docs/latest/spark-standalone.html


(1) 복수개의 데이타 노드와 마스터 노드에 파일 다운로드
다운로드 경로는 skip. 설치기2에서 사용했던 file 을 그대로 사용하였다.

(2) 그리고 압축 풀기.. (모든 마스터노드와 데이타노드에서..)

tar xvzf spark-1.1.0-bin-hadoop1.tgz

(3) Master Node 에서 아래 명령어 수행하여 일단 Master Node 만 띄운다.


./sbin/start-master.sh

(4) 웹UI뜨는지 확인

(default port 는 8080 인데, 우리는 storm web ui 가 해당 port 를 이미 사용중이다.)
(에러 날 줄 알았는데, 수행해보니 에러가 나지 않길래 log를 상세하게 뒤져보니 warning 만 뜨고, 해당 port 가 사용중이라 8081 로 시도한다는 문구가 보인다.)
아래 이미지 처럼 아직은 worker node 가 모두 떠 있지 않은 상태임.


(5) 각 DataNode 로 가서 Worker 구동


cd /data01/spark
tar xvzf spark-1.1.0-bin-hadoop1.tgz
cd spark-1.1.0-bin-hadoop1

./bin/spark-class org.apache.spark.deploy.worker.Worker spark://master003.prod.moneymall.ssgbi.com:7077

ctrl+z
bg 
요부분은 메뉴얼에 없는 부분인데. 백그라운드 수행이 자동으로 되지 않고 있다. 수동으로 해주었지만, 사실, 운영시에는 요 방식이 아닌 뒤이어 실험할, Cluster Launch Scripts 방식으로 가야 할듯.

worker 노드 구동 확인

전체 노드에 대하여 위 작업 수행.

위 작업 이후 Master Node 에서 Worker 들이 모두 구동 되었는지 확인.

요기까진 아무런 막힘이 없었다. 우선 몸풀기 정도로 생각하고, 현재 세팅은 여기서 마무리...

일요일 오후... 다행히 내일이 휴가인지라... 오늘 저녁엔 저걸 다 내리고, 운영용으로 재 세팅을 할 예정이다.


댓글 4개:

  1. 안녕하세요.. 스파크를 하둡과 연동한건가요? 그럼 스파크도 하둡처럼 각 데이터노드에서 스파크를 기동한후 마스터에서 관리하는 방식인지요? 하둡과의 관계가 아직 머리에 명확하게 이해되지 않네요. 스파크로만 클러스커링을 구성한것과 어떤 차이가 있을까요..

    답글삭제
  2. 스파크로만 구성하면 스파크 스탠드얼론 모드를 사용하면 되지만, 기업에서 쓰기에는 동시사용자 지원, 배치가 몰릴때 병렬 수행등에 한계가 있어, Production 상황에서는 좋은 시나리오는 아닙니다. 때문에, 다중 Job , 다중 사용자 환경에서는 Yarn 모드나, Mesos 모드로 사용을 하는데요, Yarn 모드는 Hadoop 의 Yarn 메니저에게 Job 수행의 일부 관리및 스케줄링 부분을 위임하는 거구요. 비슷한 역할을 Mesos 어플리케이션 가상화를 통해 수행할 수도 있습니다. hadoop 클러스터가 HDFS 로만 쓰이고, MapReduce Job 이 많지 않은 경우 리소스가 많이 놀기 때문에, 하둡클러스터 전반에 mesos 를 설치하여 해당 노드의 자원을 스파크가 쓰는 구성또한 가능합니다. mesos 는 c++ 계열 프레임워크 이므로, Java 계열보다 훨씬 시스템 자원을 쥐어짜듯 효율적으로 사용 가능하기 때문입니다.

    답글삭제
  3. 작성자가 댓글을 삭제했습니다.

    답글삭제