1
두 지역 서버, RS1
및 RS2
이 있습니다. M
보다 작은 문자로 시작하는 키가있는 모든 행을 RS1
의 영역으로 이동 한 다음 RS2
의 영역으로 옮기고 싶습니다.특정 행을 특정 RegionServer에 쓰는 방법은 무엇입니까?
어떻게 만드시겠습니까?
두 지역 서버, RS1
및 RS2
이 있습니다. M
보다 작은 문자로 시작하는 키가있는 모든 행을 RS1
의 영역으로 이동 한 다음 RS2
의 영역으로 옮기고 싶습니다.특정 행을 특정 RegionServer에 쓰는 방법은 무엇입니까?
어떻게 만드시겠습니까?
http://hbase.apache.org/book/regions.arch.html을 살펴 봐야합니다. HBase 책에는 영역 및 분할에 대한 훌륭한 정보가 있습니다.
질문에 대해서는 2 개의 영역이있는 테이블을 만들고 각 영역 서버에 하나씩 할당하면됩니다. 이 개 지역에있는 테이블을 만들려면 당신은 (기본적으로 단 1 영역이 생성됩니다)
$ hbase shell
hbase> create 'my_table', 'f1', SPLITS=> ['M']
이 일단 완료, 마스터 머리가 당신의 테이블 영역을 확인하는 하나의 분리 점을 제공해야합니다 http://my_master:60010/table.jsp?name=my_table
Name | Region Server | Start Key | End Key | Requests
my_table,,1420361349896.82ef0d5d63ecc37bc076f51f6a7d3074. | my_rs_1:60030 | | M | 0
my_table,M,1420361349897.9ce694c69f1b177a1db2dce224febb92. | my_rs_2:60030 | M | | 0
당신은 아마 한 지역이 자동으로 각 regionserver에 할당해야하지만, 경우에 두 지역이 동일한 regionserver (즉 my_rs_1) 당신이 다른 지역 중 하나를 이동할 수 있습니다
:
hbase> move '9ce694c69f1b177a1db2dce224febb92','my_rs_2,60020,1414964067589'
는 이동 명령이
다시, 마스터http://my_master:60010/table.jsp?name=my_table
머리가 있는지 확인하기 위해 (당신이 당신의 지역 서버의 목록이 여기
http://my_master:60010/master-status
를 ID를 찾을 수 있습니다) 인코딩 된 지역 이름과 전체 서버 ID를 제공하도록 요구 통지하십시오 region이 다른 regionserver에 성공적으로 할당되었습니다.