5 노드의 HBase 클러스터가 있고 대부분 순차 데이터를 가져 오는 입력 요청을 가지고 있습니다.분할 영역을 통한 HBase로드 밸런싱
저장 용량을 최적화하기 위해로드가 많은 영역에서는 수동으로 영역 분할을 수행했지만 영역을 분할 할 때 대부분 동일한 영역 서버에 최적화하지는 않습니다.
어떻게 동일한 서버에 부하를 제어 할 수
이r-1(k1 to k2) on server s1,
r-2(k2 to k3) on server s2,
r-3(k3 to k4) on server s3,
r-4(k4 to k5) on server s4,
r-5(k5 to k6) on server s5,
r-6(k6 to k7) on server s1,
즉은, 분할 이후에는 연속 영역은 같은 서버로 간다 이런 식으로 지역별 분할을 제어 할 수 있습니다.
왜 이것이 문제의 원인이라고 생각합니까? 로드 밸런서는 기본적으로 5 분마다 한 번씩 실행되고/split regions 주변의 영역을 클러스터로드가 고르게 이동합니다. 그 정도면 충분합니다. 클러스터 간의 분배는 HDFS에 의해 처리됩니다. –
답장을 보내 주셔서 감사합니다. 동일한 region-server에서 연속적인 영역을 갖는 유일한 문제는 순차적 데이터를 요청하는 동안 base.regionserver.handler.count의 제한을 초과하므로 더 많은 시간이 걸리고 일부 요청은 대기 상태가됩니다. 단지 예 –
: 기본 평형화 후, I는 지역의 분포 S4에 R -2- S1에 R-3 S1에 R -4- S2에 R- 같은 - R-1이다 발견 5에 S2가 있고, S2에 r-6, S3에 r-7, s5에 r-8이 있습니다. 각 영역의 초당 요청 수는 거의 같습니다. 그러나 영역 r-4에서 r-6 사이에있는 데이터를 가져 오는 새로운 요청은 단일 서버 S-2에만 완전히 의존합니다. 연속적인 영역이 동일한 서버로 연결되지 않도록 영역 분배를 제어하는 방법은 무엇입니까? 감사합니다 –