반응형
일단 어떤 솔루션이든 클러스터 구성을 위해선, 적어도 3대의 장비를 필요로 한다.

1. 설치
 - Java 설치 (+환경변수) : 생략
 - Zookeeper 설치
# download
wget http://apache.mirror.cdnetworks.com/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz

# 압축해제
tar -zxvf zookeeper-3.4.10.tar.gz

# 심볼릭 링크 설정 (선택)
ln -s zookeeper-3.4.10 zookeeper


설치하고 나면, conf 폴더에 zoo_sample.cfg 파일이 있는데, 복사하여 zoo.cfg파일을 만든 후 내용을 아래와 같이 편집한다.

# zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181
# for cluster
server.1=0.0.0.0:2888:3888
server.2=머신2의 ip:2888:3888
server.3=머신3의 ip:2888:3888


for cluster 주석 아래 부분에 server목록을 지정해주는데, server.{id} 형태로 지정하게 된다.

id 부분에 입력된 숫자를 dataDir에 myid 파일을 생성하여 아래와 같이 입력해주어야 한다.

$ echo 1 >> /tmp/zookeeper/myid


server.1의 경우 ip가 0.0.0.0인데, 해당 하는 노드가 localhost에 위치해 있는 경우, 예외상황 발생을 막기 위해 0.0.0.0으로 지정해주는 것을 권장한다고 하니, 자기 자신은 0.0.0.0으로 지정해준다.


이제 Zookeeper 서버를 띄워본다.

$ bin/zkServer.sh start


서버를 띄운 후 설정 값에 문제가 있는 경우, Cannot open channel to x at election address 와 같은 에러를 로그에서 확인할 수 있는데, 이런 경우는 myid 값이 제대로 들어가지 않았거나, 존재하지 않는 경우 발생하니 다시 한번 체크해보면 된다.

반응형
,