Zookeeper cluster 구성

Volc·2023년 9월 15일
0

Zookeeper

목록 보기
1/2

Zookeeper 설치

  • 다음 링크에 들어가 zookeeper를 설치해준다.
    https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/

  • 폴더를 만들어 zookeeper를 설치하고 압축을 풀어준다.

    cd /opt
    mkdir zookeeper
    cd zookeeper
    
    wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
    
    tar -xzvf zookeeper-3.4.14.tar.gz

경로 설정

  • zookeeper 경로를 설정해준다.
    vim ~/.bashrc
  • 다음과 같이 작성해준다.
    export ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.14
    export ZOOCFGDIR=$ZOOKEEPER_HOME/conf
    export PATH=$PATH:$ZOOKEEPER_HOME/bin
  • 수정된 사항을 적용 시킨다.
    source ~/.bashrc

환경 설정

  • zookeeper conf 폴더에 들어가 sample을 복사해준다.

    cd $ZOOKEEPER_HOME
    cd conf
    cp 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=/opt/zookeeper/zookeeper-3.4.14/data
    # the port at which the clients will connect
    clientPort=2181
    #
    # Be sure to read the maintenance section of the
    # administrator guide before turning on autopurge.
    #
    # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
    #
    # The number of snapshots to retain in dataDir
    #autopurge.snapRetainCount=3
    # Purge task interval in hours
    # Set to "0" to disable auto purge feature
    #autopurge.purgeInterval=1
    
    server.0=master:2888:3888
    server.1=worker1:2888:3888
    server.2=worker2:2888:3888

dataDir을 변경해준다.

zookeeper cluster 형성을 위해 server를 작성해준다.

master와 worker1의 ip는 /etc/hosts 파일에 작성되어 있다.

  • id 설정을 해야한다. 각 서버에 들어가 myid 파일을 dataDir path에 만들어준다.
# 각 서버에 data 폴더를 생성
cd $ZOOKEEPER_HOME
mkdir data

# master는 0번
echo 0 > myid

# worker1은 1번
echo 1 > myid

# worker2는 2번
echo 2 > myid

# worker3는 3번
echo 3 > myid

배포

  • master에 설치하고 설정한 zookeeper를 worker에 배포한다.

    # worker1로 전송
    scp -r $ZOOKEEPER_HOME hadoop@worker1:/opt/zookeeper
    
    # worker2로 전송
    scp -r $ZOOKEEPER_HOME hadoop@worker2:/opt/zookeeper
    
    # worker3로 전송
    scp -r $ZOOKEEPER_HOME hadoop@worker3:/opt/zookeeper

    배포 후 myid를 서버 순서에 따라 다르게 설정했는지 확인해준다.

Zookeeper 실행

  • 우선 master부터 킨다. master 서버에 들어가 다음과 같이 명령어를 입력한다.
    zkServer.sh start
  • worker 서버에서도 위 명령어를 실행시켜준다.
    zkServer.sh start
  • jps를 통해 QuorumPeerMain이 떠 있는지 확인한다.
  • 확실한 확인을 위해 각 서버에서 다음 명령어를 실행한다.
    zkServer.sh status
  • zookeeper는 election을 통해 알아서 leader를 선출하기 때문에 leader를 지정할 수는 없다.
  • leader 1개, follower 3개가 떴으면 성공이다.

참고 사이트

zookeeper cluster 설정하기

profile
미래를 생각하는 개발자

0개의 댓글