반응형
들어가기 전
- 이 예제에서는 서버 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 |