반응형
SMALL

이번 시간엔 watcher기능이 실제론 어떻게 동작하고 쓰이는지 직접 실습해본 결과를 포스팅 해보려고한다.



1. znode를 생성해주는 클라이언트 만들기


① 먼저 아래의 명령어를 실행시켜서 모듈을 설치해준다.


· npm install node-zookeeper-client



만약 저 명령어를 실행시켜서 위와 같은 화면이 나온다면 정상적으로 설치가 완료된것이다.


② 파일이름은 zkClient.js로 정해주고 다음과 같이 코드를 작성해준다.





③ 이제 zookeeper을 설치해줘야한다. 다음과 같은 명령어를 실행해서 설치해준다.


· brew install zookeeper 


그리고 zkClientstart 명령어를 써서 zookeeper server을 동작시킨다.



정상적으로 실행되면 위의 화면이 나온다. 내꺼 같은 경우엔 미리 zookeeper server를 돌려놓은 상황이다.


④ 이제 zkClient.js를 실행시켜보면된다. 파일을 실행시키면 다음과 같은 화면이 나온다.



위의 화면이 나온다면 정상적으로 실행된 것이다. zkCli 명령어를 입력해서 클라이언트에 접속하고 ls /를 입력해보면

test node가 생성되었을 것이다. 


2. znode가 존재하는지 확인해주는 클라이언트 작성하기


① 파일이름은 zkClient2.js로 설정해주고 다음과 같이 코드를 입력해준다.



② zkClient2.js를 실행시켜보면 다음과 같은 화면이 얻어졌다면 실행이 잘된것이다.



아까 처음에 test 노드를 만들어놨기 때문에 test노드가 존재한다고 표시가 된다는 것을 알 수 있다.


3. Child Node 확인하는 방법


① 먼저 zkCli명령어를 사용해서 zkServer에 접속하고 /shard1 Persist Node를 생성해준다.



만약 생성이 잘 되었다면 위 화면과 같은 결과가 나타날 것이다.


② /shard1 노드의 자식을 Ephemeral Node로 각각 replSet1, replSet2, replSet3, arbiter znode로 생성       해준다.



만약에 생성이 잘 되었다면 위화면과 같은 화면이 출력될 것이다.


자, 이제 Child Node 생성이 끝났다. 본격적으로 child Node를 확인하는 주키퍼 클라이언트를 구현해보자.


③ child Node를 확인하는 클라이언트 구현


파일이름을 zkClient3.js로 설정하고 다음과 같이 코드를 작성해준다.




코드를 작성하고 zkClient3.js를 실행시켜 주면 다음과 같은 화면이 나온다.



정상적으로 잘 실행 되었다면 위와 같이 아까 만들었던 Child Node를 확인할 수 있을 것이다.


그리고 참고로 하나 더 말하자면 자식 노드를 모두 Ephemeral Node로 생성했기 때문에 zkCli를 종료하면 해당 자식노드가 모두 삭제되는 것을 확인 할 수 있다.


4. znode에 data를 입력하는 zookeeper Client 생성하기


① 먼저 파일 이름을 zkClient4.js로 저장하고 다음과 같이 코드를 입력한다.




② 그리고 zkClient4.js를 실행해주면 다음과 같은 화면이 나온다.



이렇게 실행이 되었으면 정상적으로 실행된 화면이다.


5. znode의 data를 받아오는 zookeeper Client 생성하기


① zkClient5.js로 파일을 저장하고 다음과 같이 코드를 입력한다.




② zkClient5.js를 실행시키면 다음과 같은 화면이 나온다.



위 화면과 같이 출력되면 정상적으로 실행된 화면이다.


6. 원하는 znode를 삭제하는 zookeeper Client 생성하기


① zkClient6.js로 파일을 저장하고 다음과 같이 코드를 입력한다.






② zkClient6.js를 실행시키면 다음과 같은 화면이 나온다.




 

위와 같은 화면이 실행되면 정상적으로 실행된 것이다.



이번포스팅은 여기까지만 하고 다음시간에 이어서 더 포스팅 해보도록 하겠다.




반응형
LIST

'mongoDB > zookeeper' 카테고리의 다른 글

zookeeper의 watcher 기능 실습 2  (0) 2016.09.16
zookeeper의 watch 기능  (0) 2016.09.09
zookeeper의 특성과 간단한 실습  (0) 2016.09.08
zookeeper의 필요성  (4) 2016.09.06
블로그 이미지

만년필석사

,