반응형

들어가기 전

  • 이 예제에서는 서버 3대를 하나의 클러스터로 구성
  • 먼저 자바가 설치되어있어야함
  • [공통]이 제목 앞에 붙으면 모든 서버가 공통으로 필요한 항목
  • [개별]이 제목 앞에 붙으면 각 서버에 개별적으로 필요한 항목

ZooKeeper란?

  • 분산 시스템간의 상태 정보 공유 및 관리해주는 도구

[공통] hosts 설정

  • sudo vi /etc/hosts
192.168.56.201  zookeeper01.example.com
192.168.56.202  zookeeper02.example.com
192.168.56.203  zookeeper03.example.com

[공통] 자바 설치

[공통] ZooKeeper 설치 스크립트

mkdir -p /home/ubuntu/app \
&& cd /home/ubuntu/app \
&& wget http://apache.mirror.cdnetworks.com/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz \
&& tar xvfz zookeeper-*.tar.gz \
&& rm zookeeper-*.tar.gz \
&& ln -s /home/ubuntu/app/zookeeper* zookeeper

[공통] zoo.cfg 파일 생성

cp /home/ubuntu/app/zookeeper/conf/zoo_sample.cfg /home/ubuntu/app/zookeeper/conf/zoo.cfg

[공통] zoo.cfg 파일 수정

vi /home/ubuntu/app/zookeeper/conf/zoo.cfg
# dataDir : 앞에서 생성한 data 디렉토리 경로
dataDir=/home/ubuntu/data

# clientPort: ZooKeeper 포트, 기본값은 2181
clientPort=2181

# server.{정수} : {정수}는 각 서버에 myid로 저장한 값, 그 뒤에 작성한 주소는 해당 서버의 주소
server.1=zookeeper01.example.com:2888:3888
server.2=zookeeper02.example.com:2888:3888
server.3=zookeeper03.example.com:2888:3888

[공통] data 디렉토리 생성

mkdir -p /home/ubuntu/data

[개별] myid 파일 추가

  • myid 파일 : 주키퍼 노드를 구분하기 위한 설정파일로 모든 서버가 서로 다른 정수값을 가져야함
echo 1 >> /home/ubuntu/data/myid

[공통] ZooKeeper 실행

/home/ubuntu/app/zookeeper/bin/zkServer.sh start

[공통] ZooKeeper 동작 확인 - 1

  • 포트 열렸는지 확인
  • ZooKeeper 시작 후 바로 적용되는게 아니므로 여러번 명령어 반복 수행해서 확인
nc -v localhost 2181

[공통] ZooKeeper 동작 확인 - 2

  • ZooKeeper Client 접속 확인
/home/ubuntu/app/zookeeper/bin/zkCli.sh

quit

[공통] ZooKeeper 종료

/home/ubuntu/app/zookeeper/bin/zkServer.sh stop

참고

반응형

'Development > Kafka' 카테고리의 다른 글

[Kafka] 명령어  (0) 2023.11.20
[Kafka] 스프링 Kafka 연동  (0) 2019.03.08
[Kafka] 설치  (0) 2019.03.07

+ Recent posts