ubuntu 에서 작업하였다.

zookeeper 는 java 로 돌아가기 때문에, 사전에 java 가 설치되어 있고, path 가 존재한다는 전제하에

아래 zookeeper 설치 방법을 진행한다.

 

아래 모든 절차cluster 내의 모든 slave nodes 에도 똑같이 적용하여야 한다.

 

 

 

1.

아래 페이지로 들어가서 download 를 클릭하여 다운 받는다.

https://www.apache.org/dyn/closer.cgi/zookeeper/

 

 

 

 

2.

tar zxvf 명령어로 압축을 푼다.

 

 

 

3.

zookeeper 의 스냅샷과 트랜잭션 로그등을 저장할 path 를 만든다.

어디에 만들든 상관 없을듯

 

 

 

 

 

 

 

4.

각 cluster nodes 마다 3번에서 만든 path 안에 아래와 같이 id 값을 다르게 해서 저장한다.

Cluster 첫번째 노드의 경우
Cluster 두번째 노드의 경우

 

 

 

 

 

5.

zookeeper 를 설치한 path 의 conf dir 로 들어가서 zoo_sample.cfg 를 zoo.cfg 로 복사한다.

cp zoo_sample.cfg zoo.cfg

 

 

 

 

 

6.

/etc/hosts 에 다음과 같이 nodes 의 ip 주소들을 적용하여 써준다.

vi /etc/hosts

55.55.55.2    zookeeper01

55.55.55.4    zookeeper02

ip 주소값과 이름 사이에 tab 이 들어간다.

여기 적힌 호스트 이름 zookeeper01, zookeeper02 .... 의 이름이 각 node 의 이름이 된다.

꼭 zookeeper0X 방식을 따르지 않아도 좋다. 서로 구분만 된다면 마음대로 명명해도 된다.

이렇게 적혀진 호스트의 이름이 Cluster 내 노드들의 이름이 될 것이다.

 

 

 

 

7.

zoo.cfg 의 중간에 dataDir 를, 위의 3번에서 만든 path 로 바꿔준다.

또한 가장 마지막에 아래 내용을 포함시킨다. 6번에서 만든 호스트의 이름들이 여기서 사용된다.

server.1=[호스트 노드 이름]:2888:3888

예)

server.1=zookeeper01:2888:3888

server.2=zookeeper02:2888:3888

노드 수에 따라 개수를 달리해서 넣자.

나의 경우 cluster nodes 수가 2개이므로 2개를 넣었다.

 

(여기서 standalone 모드를 시작하려면, 6번 절차를 skip 하고 7번 절차의 server.x~ 넣는 부분을 skip 하고 8번 절차를 따라가면 된다.)

 

 

 

 

 

 

8.

zookeeper 를 설치한 path 의 bin dir 로 들어가서 아래 명령어로 zookeeper 를 실행시킨다.

모든 노드에서 아래 명령어로 실행한다.

./zkServer.sh start

 

 

 

 

멈추게 하고 싶다면 stop 명령어를 사용하면 된다.

./zkServer.sh stop

 

 

 

 

9.

실행한 zookeeper 가 잘 돌아가는지 jps 를 통해 확인한다.

Cluster 첫번째 노드에서 jps 로 확인한 결과
Cluster 두번째 노드에서 jps 로 확인한 결과

QuorumPeerMain process가 동작하고 있다면 zookeeper 가 동작하고 있다는 의미이다.

 

위처럼 jps 로 확인 가능하고, 또 netstat 으로 zookeeper 의 port 가 열렸는지로 zookeeper 의 생사 확인 가능하다.

netstat -tunalp 를 통해 

2181, 3888 포트가 열려있는지 확인한다.

 

 

 

 

 

 

 

 

10.

아래 명령어로 해당 노드가 leader 인지 follower 인지 확인 가능하다.

./zkServer.sh status

Cluster 두번째 노드
Cluster 첫번째 노드

나의 경우는 두번째 노드가 leader 가 되었다!

 

 

 

 

 

 

 

 

 

 

 

참고

https://zookeeper.apache.org/doc/current/zookeeperStarted.html

https://mslee89.tistory.com/188

https://engkimbs.tistory.com/660

HBase 와 Zookeeper 의 동작 원리

http://guruble.com/hbase%EC%99%80-zookeeper%EC%9D%98-%EB%8F%99%EC%9E%91%EC%9B%90%EB%A6%AC/

 

 

 

 

 

+ Recent posts