Apache ZooKeeper

분산 프로세스를 안정적으로 조정하는 오픈소스 서버

Apache ZooKeeper는 Hadoop 클러스터에 운영 서비스를 제공합니다. 분산 구성 서비스, 동기화 서비스, 분산 시스템의 명명 레지스트리 등이 여기에 포함됩니다. 분산 애플리케이션은 Zookeeper를 사용하여 중요한 구성 정보에 대한 업데이트를 저장하고 조정합니다.

ZooKeeper 수행하는 작업

ZooKeeper의 인터페이스와 서비스는 매우 간소화 되어 있습니다. ZooKeeper는 다음과 같은 주요 이점을 제공합니다.

  • 빠른 속도. ZooKeeper는 쓰기보다 데이터 읽기가 더 일반적인 워크로드에서 특히 속도가 빠릅니다. 이상적인 읽기/쓰기 비율은 약 10:1입니다.
  • 우수한 안정성. ZooKeeper는 일련의 호스트(앙상블이라고 함)에서 복제되고 서버는 상호 인식합니다. 임계 범위의 서버를 사용할 수 있는 한, ZooKeeper 서비스도 사용 가능합니다. 장애 지점이 전혀 없습니다.
  • 단순함. ZooKeeper는 파일 및 디렉토리와 유사한 표준 계층 네임스페이스를 유지합니다.
  • 체계적. 이 서비스는 모든 트랜잭션 레코드를 유지하며, 동기화 기본 항목과 같은 상위 수준의 추상화에 사용할 수 있습니다.

ZooKeeper 작동 원리

ZooKeeper를 사용하면 znode로 알려진 데이터 레지스터의 공유 계층 구조 네임스페이스를 통해 분산 프로세스 간의 상호 조정이 가능합니다. 모든 znode는 경로로 식별되며, 경로 요소는 슬래시("/")로 구분됩니다. 루트 외에 모든 znode에는 상위 항목이 있으며, 하위 항목이 있으면 znode를 삭제할 수 없습니다.

일반적인 파일 시스템과 매우 비슷하지만, ZooKeeper는 중복 서비스를 통해 뛰어난 안정성을 제공합니다. 서비스는 일련의 시스템에서 복제되고 각 시스템은 데이터 트리 및 트랜잭션 로그의 인메모리 이미지를 유지합니다. 클라이언트는 단일 ZooKeeper 서버에 연결된 후 요청을 보내고 응답을 수신하는 TCP 연결을 유지합니다.

이 아키텍처를 통해 ZooKeeper는 짧은 대기 시간으로 높은 처리량과 가용성을 지원할 수 있지만, ZooKeeper가 관리할 수 있는 데이터베이스의 크기는 메모리로 제한됩니다.

Your form submission has failed.

This may have been caused by one of the following:

  • Your request timed out
  • A plugin/browser extension blocked the submission. If you have an ad blocking plugin please disable it and close this message to reload the page.