비디오: 빅데이터 004 하둡 클러스터 동작 방식 2024
NoSQL 데이터베이스는 매우 큰 데이터 세트에 적합합니다. HBase와 같은 Bigtable 클론도 예외는 아닙니다. 하나의 강력한 시스템보다는 하나의 클러스터에서 여러 개의 저렴한 서버를 사용하는 것이 좋습니다. 이것은 비용이 많이 드는 단일의 강력한 서버가 아닌 많은 상용 서버를 사용하여 전체적으로 더 우수한 성능을 얻을 수 있기 때문입니다.
경제적 인 상용 서버는 규모를 신속하게 확장 할 수있을뿐만 아니라 데이터베이스 서비스의 탄력성을 높여 하드웨어 장애를 피할 수 있습니다. 이는 단일 서버의 마더 보드에 오류가 발생하는 경우 서비스를 대신받을 다른 서버가 있기 때문입니다. 하나의 큰 서버에서는 그렇지 않습니다.
이 그림은 고 가용성 HBase 구성과 서버간에 데이터가 분리 된 예를 보여줍니다.
이 다이어그램은 고 가용성 설정의 두 노드 (HRegionServers)를 보여 주며 각 노드는 다른 노드의 백업 역할을합니다.
많은 프로덕션 설정에서 고 가용성을 위해 최소 3 개의 노드를 사용하여 시간에 따라 두 개의 서버 오류를 처리 할 수 있습니다. 생각만큼 희귀하지 않습니다. 조언은 Bigtable마다 다릅니다. 예를 들어, HBase는 클러스터에 대해 최소한 5 개의 노드를 권장합니다.
-
각 지역 서버는 자체 키 세트를 관리합니다.
행 키 할당 전략을 설계하는 것은 클러스터에서로드가 분산되는 방식을 결정하기 때문에 중요합니다.
-
| 각 지역은 자체 쓰기 로그 및 메모리 내장을 유지 관리합니다.
HBase에서 모든 데이터는 메모리 내장 저장소에 쓰여지고 나중에이 저장소는 디스크로 플러시됩니다. 디스크에서 이러한 저장소를 저장소 파일 이라고합니다.
데이터 가용성을 극대화하기 위해 기본적으로 Hadoop은 각 데이터 파일의 사본을 세 개 유지합니다. 대형 설치는
기본 사본
-
같은 랙에있는 복제본
-
다른 랙에있는 다른 복제본
-
Hadoop 2. 0 이전에는 네임 노드를 고 가용성으로 만들 수 없었습니다. 이들은 클러스터의 모든 활성 서버 목록을 유지 관리합니다. 따라서 그들은 실패의 단일 지점이었습니다. Hadoop 2.0부터이 한계는 더 이상 존재하지 않습니다.