복붙노트

[HADOOP] 리전 서버의 HBase 리젼로드 밸런스

HADOOP

리전 서버의 HBase 리젼로드 밸런스

HBase 0.94.7의 두 지역 서버로 소규모 클러스터를 실행하고 있습니다. 리전 서버에 대한로드 요청이 매우 불균형하다는 것을 알았습니다. 웹 UI에서 다음을 얻었습니다.

Region1:  numberOfOnlineRegions=1, usedHeapMB=26, maxHeapMB=3983
Region2:  numberOfOnlineRegions=22, usedHeapMB=44, maxHeapMB=3983

지역 2가 마스터 역할을합니다. 로드 밸런서가 켜져 있는지 확인했습니다. 그리고 마스터 로그에서 일부 로그를 찾습니다.

INFO org.apache.hadoop.hbase.master.LoadBalancer: Skipping load balancing because balanced cluster; servers=2 regions=1 average=0.5 mostloaded=1 leastloaded=0
DEBUG org.apache.hadoop.hbase.master.LoadBalancer: Balance parameter: numRegions=10, numServers=2, max=5, min=5
INFO org.apache.hadoop.hbase.master.LoadBalancer: Calculated a load balance in 12ms. Moving 5 regions off of 1 overloaded servers onto 1 less loaded servers
DEBUG org.apache.hadoop.hbase.master.LoadBalancer: Balance parameter: numRegions=8, numServers=2, max=4, min=4
INFO org.apache.hadoop.hbase.master.LoadBalancer: Calculated a load balance in 0ms. Moving 4 regions off of 1 overloaded servers onto 1 less loaded servers
INFO org.apache.hadoop.hbase.master.LoadBalancer: Skipping load balancing because balanced cluster; servers=2 regions=1 average=0.5 mostloaded=1 leastloaded=0
INFO org.apache.hadoop.hbase.master.HMaster: balance hri=LogTable,\x00\x00\x01\xE8\x00\x00\x01@\x09\xB2\xBA4$\xC3Oe,1374591174086.65391b7a54e9c8e85a3d94bf7627fd20., src=region2,60020,1374587851008, dest=region1,60020,1374587851018
DEBUG org.apache.hadoop.hbase.master.AssignmentManager: Starting unassignment of region LogTable,\x00\x00\x01\xE8\x00\x00\x01@\x09\xB2\xBA4$\xC3Oe,1374591174086.65391b7a54e9c8e85a3d94bf7627fd20. (offlining)

영역 2에서 영역 1까지로드를 밸런싱 할 수없는 것 같습니다. 구성 문제인지 모르겠습니다. 지역 1에서 어떤 매개 변수를 확인해야합니까?

감사

해결법

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

    1.타임 스탬프와 같은 순차 행 키를 사용하고 있습니까?이 경우 RegionServer Hotspotting으로 인해 서버에 고르지 않은로드가 발생할 수 있습니다. 가능하면 순차 키를 사용하지 마십시오. 불가능한 경우 사전 분할 된 테이블을 작성하십시오.

    타임 스탬프와 같은 순차 행 키를 사용하고 있습니까?이 경우 RegionServer Hotspotting으로 인해 서버에 고르지 않은로드가 발생할 수 있습니다. 가능하면 순차 키를 사용하지 마십시오. 불가능한 경우 사전 분할 된 테이블을 작성하십시오.

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

    2.행 키가 ID, 날짜 및 해시 값으로 구성된 경우 행 키 : hashvalue + date를 만들 수 있습니다.

    행 키가 ID, 날짜 및 해시 값으로 구성된 경우 행 키 : hashvalue + date를 만들 수 있습니다.

  3. from https://stackoverflow.com/questions/17830668/hbase-region-over-region-servers-load-not-balanced by cc-by-sa and MIT license