ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • storm 개요
    기타 2015. 12. 23. 09:00
    반응형
    스톰 클러스터 구성
    마스터(master) 노드 + 워커(worker) 노드

    마스터 노드
    Nimbus 데몬이 떠 있음.
    스톰 클러스터에 코드를 분산하는 역할.
    장비에 작업을 할당하고, 실패했는지 모니터링도 함.

    워커노드
    Supervisor 데몬이 떠 있음.
    Nimbes가 할당해준 작업을 실행시킴.
    각 워커 프로세스는 topology중 일부를 실행시킴.
    topology는 여러 장비에 분산된 여러개의 워커 프로세스로 구성됨.


    Nimbus와 Supervisor의 작업 관리는 주키퍼 클러스터를 통해서 이뤄짐.
    그래서 Nimbus나 Supervisor 프로세스가 죽어도 전체 클러스터에 영향이 없음.



    토폴로지(Topology)
    연산에 대한 흐름을 정의.
    토폴로지의 각 노드들은 프로세싱 로직과 노드간에 데이터가 어떻게 전달되는지에 대한 링크를 가지고 있음.
    토폴로지를 실행하려면 필요한 작업을 단일 jar로 만들어서 클러스터에 던지면 된다.
    storm jar all-my-code.jar backtype.storm.MyTopology arg1 arg2


    스트림(Stream)
    스트림 : 무한히 연속되서 들어오는 튜플(unbounded sequence of tuples).
    스톰은 스트림을 spouts과 bolts로 변형함.
    spout : 스트림의 소스. 큐에서 읽어올수도 있고, Twitter API같은 곳에 연결해서 가져올 수도 있음.
    bolt : 입력 스트림을 처리해서 새로운 스트림으로 보냄.
    topology : spout과 bolt를 연결한 관계. 스톰 클러스터에서는 토폴로지를 하나의 작업으로 인식해서 실행함.


    데이터 모델
    스톰에서 사용하는 기본 데이터 모델은 튜플(tuple)라고 한다.
    튜플은 값의 리스트 형태고, 튜플의 필드에는 모든 타입의 객체가 올 수 있다.
    기본 타입, 문자열, 바이트 배열을 튜플 필드의 값으로 사용가능하고 다른 타입의 객체를 사용하려면 serializer를 만들어 줘야 한다.



    참고
    반응형

    '기타' 카테고리의 다른 글

    hadoop cluster 설치  (0) 2017.02.20
    hadoop 싱글 노드 설치  (0) 2017.02.17
    Fleet 사용하기  (0) 2015.10.23
    etcd 클러스터  (0) 2015.10.21
    kafka 클러스터 구축  (0) 2015.10.19

    댓글

Designed by Tistory.