복붙노트

[HADOOP] 2n + 1 쿼럼은 무엇을 의미합니까?

HADOOP

2n + 1 쿼럼은 무엇을 의미합니까?

HBase의 사육사 구성을 설명 할 때이 점을 보았습니다.이 용어에 익숙하지 않습니다. 'N'은 HBase 클러스터의 노드 수와 관련이 있습니까? 또는 사육사 클러스터에서 사용해야하는 노드 수?

해결법

  1. ==============================

    1.2f + 1은 필요한 안정성 / 가용성 수준을 나타내며 일반적으로 성능과 관련이 없습니다.

    2f + 1은 필요한 안정성 / 가용성 수준을 나타내며 일반적으로 성능과 관련이 없습니다.

    ZooKeeper 앙상블 (서비스 클러스터)은 각 변경 사항에 "투표"하는 하나 이상의 서버로 구성됩니다. 원래 서버의 대부분은 승인되기 전에 변경을 "승인"해야합니다. 클라이언트 (이 경우 hbase)는 앙상블에 연결하여 좌표에 사용합니다. 앙상블이 작동하면 클라이언트가이를 수행 할 수 있습니다. 앙상블이 작동 중지 된 경우 hbase은 서비스를 사용할 수 없습니다.

    앙상블에 3 개의 서버 (f = 1)가 있다고 가정 해 봅시다. 하나가 실패하면 서비스가 여전히 작동합니다 (2 명이 다수). 그러나 두 번째 서버가 실패하면 서비스가 중단됩니다.

    앙상블에 5 개의 서버 (f = 2)가 있다고 가정 해보십시오. 이 경우 두 대의 서버가 실패 할 수 있으며 (3 대다수) 서비스가 계속 작동합니다.

    일반적으로 3 대의 서버가 충분합니다. 그러나 온라인 프로덕션 서비스 환경에서는 5를 제안합니다. 왜? 예정된 유지 관리를 위해 1 대의 서버를 다운한다고 가정 해보십시오. 5 대의 서버가있는 경우 남아있는 활성 서버 중 하나에 예기치 않게 장애가 발생할 경우에도 기다릴 수 있습니다.

    왜 101 대의 서버가 없습니까? - 탄스타프. 여기에 그래프를보십시오. ZK는 쿼럼 기반 서비스입니다. 서버 수가 증가하면 쓰기 성능이 실제로 떨어집니다. 쿼럼 프로세스 (투표)에 참여하려면 더 많은 서버가 필요합니다. 결과적으로 쓰기 작업량 / 초가 감소합니다. (읽기는 영향을받지 않습니다).

  2. ==============================

    2.n은 시스템이 경험할 수 있지만 여전히 대부분의 노드에서 작동 할 수있는 실패 횟수를 나타냅니다. 두 가지 예 :

    n은 시스템이 경험할 수 있지만 여전히 대부분의 노드에서 작동 할 수있는 실패 횟수를 나타냅니다. 두 가지 예 :

    n = 1 - 총 2n + 1 = 3 노드 중 하나의 노드가 실패 할 수 있음

    n = 2 - 두 개의 노드가 총 2n + 1 = 5 개의 노드에서 실패 할 수 있음

    등등!

  3. from https://stackoverflow.com/questions/4228227/what-does-2n-1-quorum-mean by cc-by-sa and MIT license