HBase-아키텍처
HBase에서 테이블은 지역으로 분할되며 지역 서버에서 제공합니다. 지역은 세로로 열 패밀리에 의해 "상점"으로 나뉩니다. 저장소는 HDFS에 파일로 저장됩니다. 아래는 HBase의 아키텍처입니다.
Note: '스토어'라는 용어는 스토리지 구조를 설명하기 위해 지역에 사용됩니다.
HBase에는 클라이언트 라이브러리, 마스터 서버 및 리전 서버의 세 가지 주요 구성 요소가 있습니다. 리전 서버는 요구 사항에 따라 추가 또는 제거 할 수 있습니다.
마스터 서버
마스터 서버-
지역 서버에 지역을 할당하고이 작업을 위해 Apache ZooKeeper의 도움을받습니다.
지역 서버에서 지역의 부하 분산을 처리합니다. 바쁜 서버를 언로드하고 지역을 덜 점유 된 서버로 이동합니다.
부하 분산을 협상하여 클러스터의 상태를 유지합니다.
스키마 변경 및 테이블 및 열 패밀리 생성과 같은 기타 메타 데이터 작업을 담당합니다.
지역
리전은 리전 서버에 분할되고 분산 된 테이블에 불과합니다.
지역 서버
지역 서버에는 다음과 같은 지역이 있습니다.
- 클라이언트와 통신하고 데이터 관련 작업을 처리합니다.
- 그 아래의 모든 지역에 대한 읽기 및 쓰기 요청을 처리합니다.
- 영역 크기 임계 값에 따라 영역 크기를 결정합니다.
리전 서버를 자세히 살펴보면 아래와 같이 리전과 스토어가 포함됩니다.
저장소에는 메모리 저장소와 HFile이 포함되어 있습니다. Memstore는 캐시 메모리와 같습니다. HBase에 입력 된 모든 것은 처음에 여기에 저장됩니다. 나중에 데이터가 전송되어 Hfiles에 블록으로 저장되고 memstore가 플러시됩니다.
사육사
Zookeeper는 구성 정보 유지, 이름 지정, 분산 동기화 제공 등과 같은 서비스를 제공하는 오픈 소스 프로젝트입니다.
Zookeeper에는 다른 지역 서버를 나타내는 임시 노드가 있습니다. 마스터 서버는 이러한 노드를 사용하여 사용 가능한 서버를 검색합니다.
가용성 외에도 노드는 서버 오류 또는 네트워크 파티션을 추적하는데도 사용됩니다.
클라이언트는 zookeeper를 통해 지역 서버와 통신합니다.
의사 및 독립 실행 형 모드에서 HBase 자체가 사육사를 처리합니다.