반응형
주키퍼 설치하기
$ wget http://apache.mirror.cdnetworks.com/zookeeper/stable/apache-zookeeper-3.6.3-bin.tar.gz
$ tar xzvf apache-zookeeper-3.6.3.tar.gz
$ ln -s apache-zookeeper-3.6.3 zookeeper
주키퍼는 애플리케이션에서 별도의 데이터 디렉토리를 사용
이 디렉토리에는 지노드의 복사본인 스냅샷과 트랜잭션 로그들이 저장
- 지노드의 변경사항이 발생하면, 변경사항은 트랜잭션 로그에 추가
- 로그가 어느 정도 커지면, 현재 모든 지노드의 상태 스냅샷이 파일시스템에 저장
- 스냅샷은 모든 이전 로그들을 대체
중요한 디렉토리이기 때문에 설치 경로와는 다른 경로로 설정하는 것이 바람직하다. 보통 /data 경로로 설정하는 것 같다.
$ mkdir -p /data
이제 앙상블 내 주키퍼 노드를 구분하기 위해 ID를 부여해야 한다.
주키퍼에서는 myid라고 부르며 정수 형태로 만들어 준다. /data 디렉토리 하단에 myid라는 파일을 만들면 끝난다.
$ echo 1 > /data/myid
3대의 서버가 있다고 가정하면, 3대의 서버에 모두 위와 같은 작업을 진행해야 한다.
zookeeper-server1 -> myid : 1
zookeeper-server2 -> myid : 2
zookeeper-server3 -> myid : 3
주키퍼 환경설정
주키퍼 환경설정 파일은 아래의 경로에 존재한다.
${ZOOKEEPER_HOME}/zookeeper/conf/zoo.cfg
혹은
${ZOOKEEPER_HOME}/zookeeper/conf/zoo_sample.cfg
아래와 같이 환경설정을 해준다.(zoo.cfg)
# The number of milliseconds of each tick
tickTime=2000 -(1)
# The number of ticks that the initial
# synchronization phase can take
initLimit=10 -(2)
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5 -(3)
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/data -(4)
# the port at which the clients will connect
clientPort=2181 -(5)
server.1=zookeeper-server1:2888:3888 -(6)
server.2=zookeeper-server2:2888:3888
server.3=zookeeper-server3:2888:3888
(1) - 주키퍼가 사용하는 시간에 대한 기본 측정 단위
(2) - 팔로워가 리더와 초기에 연결하는 시간에 대한 타임 아웃 tick의 수
(3) - 팔로워가 리더와 동기화 하는 시간에 타임 아웃 tick의 수
(4) - 주키퍼의 트랜잭션 로그와 스냅샷이 저장되는 데이터 저장 경로
(5) - 주키퍼 사용 TCP 포트
(6) - 주키퍼 앙상블 구성을 위한 서버 설정, server.myid 형식으로 사용
- 2888 : 서버 노드끼리 통신을 위해 사용, 3888 리더 선출을 위해 사용
주키퍼 실행 및 중지
$ ${ZOOKEEPER_HOME}/bin/zkServer.sh start
$ ${ZOOKEEPER_HOME}/bin/zkServer.sh stop
반응형
'프로그래밍 노트 > 인프라' 카테고리의 다른 글
[kafka] Docker 사용하여 카프카 클러스터 구성하기 (1) | 2021.07.16 |
---|---|
[kafka] 카프카 설치 및 실행 (환경설정) (0) | 2021.07.10 |
[kafka] Docker 사용하여 카프카 실행하기 (0) | 2021.06.20 |
[kafka] 카프카 고가용성과 리플리케이션(장애 극복 방법) (0) | 2021.05.04 |
[kafka] 카프카 특징 (데이터 모델, 디자인 특징) (0) | 2021.04.30 |