월요일, 5월 27, 2024
HomeLinuxZooKeeper Cluster 설치

ZooKeeper Cluster 설치

ZooKeeper Cluster 설치

zookeeper ?

ZooKeeper는 분산 애플리케이션을위한 분산 형 오픈 소스 코디네이션 서비스입니다. 분산 응용 프로그램이 빌드, 동기화, 구성 유지 관리 및 그룹 및 명명을 위해 고급 서비스를 구현할 수있는 간단한 프리미티브 집합을 제공합니다. 프로그램하기 쉽도록 고안되었으며 익숙한 파일 시스템의 디렉토리 트리 구조를 기반으로 한 데이터 모델을 사용합니다. 그것은 자바에서 실행하고 자바와 C 모두 바인딩되어 있습니다.

시스템 요구 사항

지원되는 플랫폼

  • GNU / Linux는 서버와 클라이언트 모두를위한 개발 및 생산 플랫폼으로 지원됩니다.

  • Sun Solaris는 서버 및 클라이언트 모두를위한 개발 및 프로덕션 플랫폼으로 지원됩니다.

  • FreeBSD는 고객만을위한 개발 및 생산 플랫폼으로 지원됩니다. FreeBSD JVM의 Java NIO 선택기 지원이 중단되었습니다.

  • Win32는 서버와 클라이언트 모두를위한 개발 플랫폼으로 만 지원됩니다 .

  • MacOSX는 서버와 클라이언트 모두를위한 개발 플랫폼으로 만 지원됩니다 .

필수 소프트웨어

ZooKeeper는 Java, 1.6 이상 (JDK 6 이상)에서 실행됩니다. ZooKeeper 서버 의 앙상블 로 실행됩니다 . 
3 개의 ZooKeeper 서버는 앙상블을위한 최소 권장 크기이며 별도의 컴퓨터에서 실행하는 것이 좋습니다.

클러스터 된 (다중 서버) 설치

신뢰할 수있는 ZooKeeper 서비스를 위해서는 ZooKeeper를 앙상블이라는 클러스터에 배포해야합니다 . 
앙상블의 대다수가 작동하는 한, 서비스를 이용할 수 있습니다. 
사육사는 대다수를 필요로하기 때문에 홀수 개의 기계를 사용하는 것이 가장 좋습니다. 
예를 들어, 4 대의 머신 ZooKeeper는 단일 머신의 장애 만 처리 할 수 ​​있습니다. 
두 대의 기계가 고장 나더라도 남은 두 대의 기계가 다수를 구성하지는 않습니다. 
그러나 5 대의 기계 ZooKeeper는 두 대의 기계의 고장을 처리 할 수 ​​있습니다.

Watches

ZooKeeper는 watch의 개념을 지원합니다 . 클라이언트는 znode에서 시계를 설정할 수 있습니다.
znode가 변경되면 watch가 트리거되고 제거됩니다.
watch가 트리거되면 클라이언트는 z 노드가 변경되었음을 알리는 패킷을 수신합니다.
클라이언트와 Zoo Keeper 서버 중 하나의 연결이 끊어지면 클라이언트는 로컬 알림을받습니다. 


다음은 앙상블에 포함될 서버를 설정하는 단계입니다. 
이 단계는 앙상블의 모든 호스트에서 수행해야합니다.

총 3대의 zookeeper 서버로 구성합니다.

  1. Java JDK를 설치하십시오. 시스템의 네이티브 패키지 시스템을 사용하거나 다음 위치에서 JDK를 다운로드 할 수 있습니다.

    http://java.sun.com/javase/downloads/index.jsp

    ubuntu java 설치 방법

  2. Java 힙 크기를 설정하십시오. 이는 ZooKeeper 성능을 심각하게 저하시키는 스와핑을 피하기 위해 매우 중요합니다. 올바른 값을 판별하려면,로드 테스트를 사용하고 교환 할 사용량 한 계 아래에 있는지 확인하십시오. 보수적 인 방법 – 4GB 시스템에는 최대 힙 크기 3GB를 사용하십시오.

  3. ZooKeeper 서버 패키지를 설치하십시오. 아래의 사이트에서 다운로드받을 수 있습니다 :

    http://hadoop.apache.org/zookeeper/releases.html
    #root 권한으로 설정

    mkdir /sw
    mkdir /sw/zk_data
    chown -R zookeeper:zookeeper /sw

    #zookeeper user권한으로 설정

    cd /sw
    wget http://apache.mirror.cdnetworks.com/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
    tar zxvf zookeeper-3.4.10.tar.gz
    ln -s zookeeper-3.4.10 zookeeper
    cp zookeeper/conf/zoo_sample.cfg zookeeper/conf/zoo.cfg
  4. 구성 파일을 작성하십시오. 

    vi /sw/zookeeper/conf/zoo.cf
    tickTime = 2000
    dataDir = /sw/zk_data/
    clientPort = 2181
    initLimit = 5
    syncLimit = 2
    server.1=zookeeper01:2888:3888
    server.2=zookeeper02:2888:3888
    server.3=zookeeper03:2888:3888

    #myid 파일은 해당 기계의 ID 텍스트 만 포함하는 단일 행으로 구성됩니다. 
     따라서 서버 1의 myid 에는 “1”이라는 텍스트가 포함될 것입니다. 
     id는 앙상블 내에서 고유해야하며 1에서 255 사이의 값을 가져야합니다.

    echo ‘1’ 에서 ‘1’ 을 각 서버 식별ID이며 zookeeper01 1 , zookeeper02 2 , zookeeper01 3입니다.

    echo '1' > /sw/zk_data/myid

    #logs 폴더 설정

    vi /sw/zookeeper/bin/zkEnv.sh
    ZOO_LOG_DIR="/sw/zookeeper/logs"<code></code>
  5. 서비스 자동시작등록
    vi /etc/rc.d/rc.local
    su - zookeeper /sw/zookeeper/bin/zkServer.sh start &
  6. zookeeper shell script 명령어
    #zookeeper 시작
    /sw/zookeeper/bin/zkServer.sh start 
    #zookeeper 종료
    /sw/zookeeper/bin/zkServer.sh stop 
    #zookeeper 상태확인
    /sw/zookeeper/bin/zkServer.sh status

     

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Time limit exceeded. Please complete the captcha once again.

Most Popular