♥ Apache Zookeeper
- 분산 작업을 제어하기 위한 트리 형태의 데이터 저장소
- 데이터의 변경을 감시하여 콜백을 실행한다.
- 의존성이 높기 때문에 고가용성을 꼭 지원해주어야 한다.
- Reader/Follower 투표를 통해 결정되는 방식이므로 홀수개를 설치하여야 한다.
1. 설치
(1) wget으로 Zookeeper Stable 버전을 다운로드 한다.
(2) 구성파일을 작성한다. 파일은 zookeeper/conf 에 위치해있다. sample을 바꾸어서 사용하도록하자.
(3) zoo.cfg
tickTime=2000
dataDir=/data/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=master:2888:3888
server.2=slave01:2888:3888
server.3=slave02:2888:3888
ClientPort : 클라이언트 연결을 대기하는 포트 (클라이언트가 연결을 시도하는 포트)
DataDir : ZooKeeper가 메모리 내 데이터베이스를 저장할 위치
tickTime : 하트비트 간격
initLimit : 동기화 할 수 있는 시간
syncLimit : 응답을 기다리는 시간
server.x : dataDir에서 서버의 번호를 찾아 판별함
- 모든 서버가 zookeeper를 가지고 있어야 한다.
(4) 각각 서버의 dataDir 위치에 myid 파일을 심어준다. 이 파일은 conf에서 지정해준 server Numvber를 가지고 있어야 한다.
(5) 이후 scp -r zooscp -r zookeeper-3.4.14 (사용자)@(보낼 곳):(경로) 로 전송해준다.
(6) $ZOOKEEPER_HOME(zookeeper 위치)/bin 으로 이동하여 zookeeper를 실행해본다.
(7) 실행이후 PATH에 환경변수를 등록해준다.
export ZOOKEEPER_HOME=/home/centos/zookeeper-3.4.14
PATH = $PATH:$ZOOKEEPER_HOME/bin
(8) 서로 선거가 잘 되었는지 확인한다.
(Trouble Shooting)
- ERROR NAME : Cannot open channel to X at election address
대부분 zoo.cfg 파일이 제대로 설정되지 않아서 일어나는 문제이다. IP와 PORT를 잘 확인해주고 SAMPLE을 복사하여 작성했을 경우 주석 부분을 확인한다.
혹은 SELINUX를 꺼주는 것도 한 방법이다. (/etc/sysconfig/selinux 에서 disabled)
'미분류 > Hadoop' 카테고리의 다른 글
Hadoop - Kafka 설치하기 (0) | 2019.04.11 |
---|---|
Hadoop - Oozie 설치하기 (0) | 2019.04.10 |
Hadoop - Pig 설치하기 (0) | 2019.04.09 |
Hadoop 실습 - jar 파일을 만들어 hdfs 사용해보기 (0) | 2019.04.05 |
VMware를 이용하여 Hadoop 완전분산모드 구축 (0) | 2019.04.04 |