본문 바로가기
OpenSource/Apache Storm

초 간단 Apache Storm 맛보기(셋팅)

by 태하팍 2020. 5. 19.
반응형

Apache Storm을 셋팅하기 위해서 필요한 것은?

1. Open Jdk

2. Zookeeper

3. Apache Storm

4. Python

셋팅결과!

Jdk와 Python은 서버에 맞게 잘 찾아서 셋팅 해준다. :)

이 포스팅에서는 pass~

 

이제! 이 포스팅에서 다룰 주키퍼와 아파치 스톰! 셋팅을 시작해보자~

 

Zookeeper Setting

  1. download : wget http://mirror.apache-kr.org/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz
  2. 압축해제 : tar xvfz  apache-zookeeper-3.5.8-bin.tar.gz
  3. 심볼릭 링크 센스 : ln -s  apache-zookeeper-3.5.8-bin zookeeper
  4. ~/zookeeper/conf 설정
    1. zoo_sample.cfg를 zoo.cfg로 복사 -> cp zoo_sample.cfg zoo.cfg
    2. zoo.cfg 열어서 수정! -> vi zoo.cfg
    3. 아래처럼 dataDir, server.1~3 등을 채워넣으면 된다.

단, bif-dev-1등의 호스트명을 사용하려면 각 서버별로 아래와 같이 설정 해야 한다.

sudo vi /etc/hosts 오픈 후 아래와 같이 설정!

해당 아이피      호스트명

10.111.xx.aaa  bif-dev-1

10.111.xx.bbb  bif-dev-2

10.111.xx.ccc   bif-dev-3

 

위와 같이 설정하지 않으려면 ip로 설정하면 되겠쥬?

그리고! 위에서 설정한 dataDir 아래에 아래와 같이 서버별로 myid라는것을 만들자!

echo 1 > ../logs/zookeeper/myid

해당 설정이 없으면 아래와 같은 오류를 맛보게 될 것이다!

$ ./zkServer.sh start

/home/deploy/util/jdk8u252-b09/bin/java

ZooKeeper JMX enabled by default

Using config: /home/deploy/util/zookeeper/bin/../conf/zoo.cfg

Starting zookeeper ... FAILED TO START

 

설정 후에 다시 주키퍼를 스타트 시키면!

  • bif-dev-1 서버 :  echo 1 > ../logs/zookeeper/myid
  • bif-dev-2 서버 : echo 2 > ../logs/zookeeper/myid
  • bif-dev-3서버 :  echo 3 > ../logs/zookeeper/myid

$ ./zkServer.sh start

/home/deploy/util/jdk8u252-b09/bin/java

ZooKeeper JMX enabled by default

Using config: /home/deploy/util/zookeeper/bin/../conf/zoo.cfg

Starting zookeeper ... STARTED

 

ZooKeeper 띄우기 성공!


Apache Storm Setting

  • download : http://storm.apache.org/downloads.html
    • 다운로드 페이지에서 원하는 버전을 가져다가 사용하면 된다.
    • 하지만 이번 포스팅은 현재 업무버전에 맞게 동일한 버전으로 하려고 한다.
      • 버전은 바로 1.0.1 ~!! 두둥탁~ 
      • wget https://archive.apache.org/dist/storm/apache-storm-1.0.1/apache-storm-1.0.1.tar.gz 
  • 압축해제 : tar xvfz apache-storm-1.0.1.tar.gz 로 압축을 해제한 뒤 
  • 센스있게 심볼릭 링크를 걸어준다.
    • ln -s apache-storm-1.0.1.tar.gz storm

아래와 같이 된다.

 

storm.zookeeper.servers:

     - "bif-game-dev-1"

     - "bif-game-dev-2"

     - "bif-game-dev-3"

storm.local.dir: "/home/deploy/logs/storm/data"

nimbus.seeds: ["bif-game-dev-1"]

ui.host: 0.0.0.0

ui.port: 8081

 

설정 후!

동작을 시켜보자~

  1. nimbus
    1. 한 서버에만 올려보자.
      1. bin]$ ./storm nimbus
  2. supervisor
    1. 서버 3대 각각 돌려보자!
      1. bin]$ ./storm supervisor
  3. ui 
    1. 서버 한대에서 돌려보자.
      1. bin]$ ./storm ui 

ip or host:포트 를 통해 접근할 수 있다.

ex) aa.bb.xx.21:8081

 

그리고 위에서 nimbus, supervisor는 뭘까?

nimbus : 마스터 노드에서 실행하는 데몬!

supervisor : 워커 노드에서 실행하는 데몬!

ui : 스톰 ui를 기동! 

 

이제 간단한 코딩을 해보자~

다음편에 계속!..

 

좋은 사이트 :

http://www.corejavaguru.com/bigdata/zookeeper/getting-started-with-zookeeper

https://jdm.kr/blog/218

반응형