IT Log

Zookeeper 구성 ( Multi-Server ) 본문

Open Source/Apache

Zookeeper 구성 ( Multi-Server )

newly0513 2020. 9. 2. 21:57
728x90
반응형

[이전 단계] Zookeeper 구성 (Standalone) : https://newly0513.tistory.com/146

[다음 단계] HBase 구성 (Standalone) : newly0513.tistory.com/149


요구사항 (Requirements)

  1. 지원되는 플랫폼

    • GNU/LINUX
    • Solaris
    • FreeBSD
    • Windows
    • Mac OS X
  2. 필수 소프트웨어

    • Java 1.8 이상 ( JDK 8 LTS, JDK 11 LTS, JDK 12-Java 9 및 10은 지원되지 않음 )
    • 최소 3대의 Zookeeper 서버

 


클러스터 모드 (Clustered Setup)

  • 홀수 서버 사용 권장
  • 유지보수 중 최대의 안정성을 위해 5개의 서버를 설치

 

Download

  • 진행 노드 : master
  • 위치 : /usr/local

 stable 버전을 다운로드 합니다.

cd /usr/local; \
wget http://apache.mirror.cdnetworks.com/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz; \
tar xzvf apache-zookeeper-3.6.1-bin.tar.gz; \
rm -rf apache-zookeeper-3.6.1-bin.tar.gz; \
mv apache-zookeeper-3.6.1-bin zookeeper

 

구성 파일

  • 진행 노드 : master
  • 파일 : /usr/local/zookeeper/conf/zoo.cfg

 zoo.cfg 파일을 에서 해당부분을 아래와 같이 수정합니다.

cd /usr/local/zookeeper/conf; \
cp zoo_sample.cfg zoo.cfg; \
vi zoo.cfg
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

 

Zookeeper 배포

  • 진행 노드 : master

scp -r /usr/local/zookeeper root@slave1:/usr/local; \
scp -r /usr/local/zookeeper root@slave2:/usr/local

 

경로 설정 (Path)

  • 진행 노드 : master, slave1, slave2
  • 파일 : /etc/profile

 ZOOKEEPER_HOME 환경변수를 설정한 뒤 PATH에 $ZOOKEEPER_HOME/bin을 추가합니다.

export ZOOKEEPER_HOME=/usr/local/zookeeper

$ZOOKEEPER_HOME/bin

 

 

myid

  • 진행 노드 : master, slave1, slave2
  • 위치 : /var/lib/zookeeper/myid

 master에서는 1, slave1에서는 2, slave2에서는 3을 입력하여 작성합니다. 위에서 작성한 zoo.cfg 파일에서 server.<myid>=hostname:2888:3888이 되는 것입니다.

mkdir -p /var/lib/zookeeper; \
vi /var/lib/zookeeper/myid
# master
1

# slave1
2

# slave2
3

 

방화벽 해제 ( firewall )

  • 진행 노드 : master, slave1, slave2 

 간혹 방화벽으로 인해 오류가 발생하기도 합니다.

systemctl stop firewalld

 

Zookeeper 시작 (start zookeeper)

  • 진행 노드 : master, slave1, slave2
zkServer.sh start


Zookeeper 오류

오류 : Error contacting service. It is probably not running

원인

  1. zoo.cfg 파일에서 dataDir 경로가 잘못 작성되었거나 작성한 경로에 맞지 않게 myid경로가 잘못된 경우
  2. 구성한 서버의 zookeeper를 모두 실행하지 않은 경우
  3. 방화벽이 설정되어 있는 경우

해결 방법

  1. zoo.cfg 파일에서 작성된 파일내용을 다시 확인하고 경로에 맞게 myid를 작성했는지 확인
  2. zookeeper가 구성된 모든 서버에 zookeeper를 실행 후 확인
  3. 방화벽 해제한 뒤 확인
systemctl stop firewalld
728x90
반응형

'Open Source > Apache' 카테고리의 다른 글

Hive Metastore MySQL  (0) 2020.09.07
Hive Metastore  (0) 2020.09.05
Zookeeper 구성 (Standalone)  (0) 2020.09.02
Hive 구성  (0) 2020.09.01
Kafka 설치(3)  (0) 2019.06.11
Comments