욱'S 노트

Apache Storm - Setting Up a Development Environment 본문

Programming/Storm

Apache Storm - Setting Up a Development Environment

devsun 2015. 10. 30. 18:00

이번 페이지는 어떻게 스톰 개발환경을 세팅하는 지에 대해 설명한다. 요약하면 스텝은 다음과 같다.


스톰 릴리이즈를 다운로드하고 압축을 해제한다. PATH 환경변수에 bin 디렉토리를 등록한다.

리모트 클러스터에 있는 토폴로지를 시작하고 종료하기 위해서 클러스터 정보를 ~/.storm/storm.yaml를 넣는다.

각 스텝의 자세한 내용은 아래와 같다.


What is a development environment?


스톰은 두가지 모드를 가지고 있다. : 로컬 모드와 리모트 모드. 로컬 모드에서는 로컬머신에서 토폴로지를 개발하고 완전히 테스트하는 것을 가능하게 한다. 리모트 모드에서는 클러스터 머신에서 토폴로지를 보내 실행할 수 있게 한다.


스톰 개발 환경은 로컬 모드에서 토폴리지를 개발하고 테스트할 수 있는 모든 것을 설치할 수 있다. 또한 리모트 서버에서 실행을 위해 토폴로지를 패키지할 수 있고, 리모트 클러스터의 토폴로지를 서브밋하고 종료할 수 있다.


빨리 로컬 머신과 리모트 클러스터간의 관계를 살펴보자. 스톰 클러스터는 Nimbus라고 불리우는 마스터 노드에 의해 관리된다. 당신의 머신은 Nimus와 코드를 보내기 위해 커뮤니케이션을 하고 클러스터에서 토폴로지를 실행하기 위해 커뮤니케이션을 한다. Nimbus는 클러스터에 코드를 분산하고 토폴로지를 실행하기 위한 worker를 할당한다. 로컬 모신에서 storm이라고 불리우는 커맨드라인 클라이언트를 사용해서 님저스와 커뮤니케이션을 할 수 있다. 스톰 클라이언트는 리모트 모드를 위해서만 사용된다. : 로컬 모드에서 토폴로지를 개발하고 테스트하는데는 필요가 없다는 말이다.


Installing a Storm release locally


로컬 머신으로 부터 리모트 클러스터로 토폴로지를 서브밋하기 위해서는 스톰 릴리이지를 로컬에 설치해야 된다. 스톰 릴리이즈를 설치하면 스톰 클라이언트를 활용해 리모트 클러스터와 통신을 할 수 있다. 스톰을 로컬에 설치하기 위해서는 릴리이즈를 다운받고 컴퓨터 어딘가에 압축을 해제해야 한다. 그런 다음 PATH 환경 변수에 bin 디렉토리를 추가해서 storm 스크립트가 실행되는지 확인해 보자.


설치된 스톰 릴리이즈는 단지 리모트 클러스터와 통신하기 위해서만 이용된다. 로컬 모드에서 토폴로지를 개발 및 테스트하기 위해서는 프로젝트에 storm을 개발 디펜던시에 추가하면 된다. 자세한 내용은 Using Maven 글을 참고하라.


Starting and stopping topologies on a remote cluster


이전 스텝에서 리모트 클러스터와 커뮤니케이션을 위한 스톰 클라이언트를 설치하였다. 이제 클라이언트를 이용해 리모트 클러스터와 커뮤니케이션을 해보자.  이를 위해 마스터의 호스트 주소를 ~/.storm/storm.yaml 파일에 적어야 한다. 


nimbus.host: "123.45.678.890"


대안으로 AWS 스톰 클러스터를 위해 준비된 storm-deploy 프로젝트를 사용한다면 자동으로 ~/.storm/storm.yaml 파일을 세팅할 수 있다. 


'Programming > Storm' 카테고리의 다른 글

Apache Storm - Trident Tutorial  (0) 2015.12.07
Apache Storm - Running Topologies on a Production Cluster  (0) 2015.11.20
Apache Storm - Concepts  (0) 2015.11.19
Apache Storm - Tutorial  (0) 2015.10.29
Apache Storm - Setting up a Storm Cluster  (0) 2015.10.27
Comments