일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 프로그래머스
- Linux
- 코드워
- programmers
- 동적프로그래밍
- 리눅스
- HBase
- 튜토리얼
- OOM
- boj
- gradle
- 스칼라
- Java
- 알고리즘
- zookeeper
- 파이썬
- leetcode
- 문제풀이
- Python
- scala
- codewars
- docker
- redis
- 주키퍼
- Go언어
- go
- dynamic programming
- golang
- DP
- 자바
- Today
- Total
목록HBase (7)
파이문
org.apache.hadoop.hbase.NotServingRegionException: Region xxx is not online on ... 에러 발생 hbase table 이름도 로그에 있었기 때문에, 해당 table 을 HBase WebUI 로 확인해 봄 살펴보니 Regions by Region Server 에서 내용이 없었음 (region is off line) Region 을 다시 Region server 에 할당해줘야 한다. 그러기 위해선 region_name 을 알아야 하는데, 역시나 HBase WebUI 에서 확인 가능함 (빨간색으로 칠한 부분이다!) Table Regions 에서 보여지는 Name 은 RegionInfo 로 아래와 같은 형식으로 이루어진 것임 (최신 버젼 Region..
동일한 Column Qualifier 에서 (이를 'A' 라고 하겠다.) 조건 여러개를 OR 로 필터 하고 싶었다. 예시로 보자면 A 가 1 인 경우 또는 2인 경우를 스캔하고 싶어, 다음과 같이 작성하였다. (실제로는 Byte 값이 들어간다.) Scan scan = new Scan(); FilterList filterList = new FilterList(); SingleColumnValueFilter aIsOne = new SingleColumnValueFilter( 'CF', 'A', CompareFilter.CompareOp.EQUAL, 1 ); SingleColumnValueFilter aIsTwo = new SingleColumnValueFilter( 'CF', 'A', CompareFilte..
HBase 를 대상으로 MR 어플리케이션을 개발할 때 TableMapper / TableReducer 를 사용할 때가 있다. 이 때 TableReducer 를 사용해서 데이터를 써야 하는데, 데이터를 각각 다른 테이블에 저장해야 했다. TableMapReduceUtil 를 사용하면 하나의 테이블에 쓰는 것 밖에 안된다. 그래서 서로 다른 테이블에 데이터를 넣으려면 (TableReducer 를 상속받은) Reducer에서 아래 처럼 해 주고 Put put1 = createPut(...); context.write(new ImmutableBytesWritable(Bytes.toBytes("table1")), put1); Put put2 = createPut(...); context.write(new Immu..
Catalog Table hbase shell 에서 list 명령어를 치면 안나와서 헷갈릴 수 있지만 hbase:meta 도 다른 테이블 처럼 그냥 테이블 중에 하나이다. 원래 -ROOT- 라는 테이블도 있었는데 버젼이 업데이트(0.96 이상 부터) 되면서 삭제 되었다. (참고 issues.apache.org/jira/browse/HBASE-3171) (현재 가장 유명한? HBase 책인 HBase 완벽가이드가 버젼이 0.92이여서 -ROOT- 라는 테이블 정보가 아직 있어서 헷갈렸다. 새 책 언제 나오나요?!!오라일리!!) hbase:meta 이전에는 .META. 라고 불렸던 hbase:meta 테이블은 모든 리젼에 대한 정보를 가지고 있다. 그리고 이 hbase:meta 는 주키퍼에 저장되어 있다. ..
Region-RegionServer 할당 방식 Region 이 어떻게 RegionServer 에 할당 되는걸까? StartUp (시작 시) Master 는 AssignmentManager 를 호출 한다. AssignmentManager 는 hbase:meta 의 (이미 있는) region 정보를 살펴 본다. 만약 region 이 여전히 유효하다면 (예를 들면 RegionServer 가 살아있는 상태인 경우) 할당을 한다. 만약 (할당이) 유효하지 않다면 LoadBalancerFactory 가 region 을 할당 시킨다. 로드 밸런서가 Region 을 RegionServer 에 할 >당 시킨다. hbase:meta 에 RegionServer 의 정보를 업데이트 한다. (필요하다면 RegionServer의..
hbase 테이블 별 용량 확인하기 path 는 기본적으로 zookeeper base path 이다. (변경되었다면 hbase master status 웹 UI 에서 확인할 수 있고 본인이 임의로 변경했다면 사용자가 당연히 알겠지?) 기본은 /hbase/data/default 이다. hdfs dfs -du -h /hbase/data/default
Prefix 와 Start, Stop Rowkey 으로 10개만 조회 scan '', {STARTROW => '', ENDROW => '', FILTER => "PrefixFilter('')", LIMIT => 10} 컬럼 패밀리 삭제 하기 alter '', {NAME => '', METHOD => 'delete'} 컬럼 패밀리 추가 하기 alter '', '' 테이블 데이터 전부 삭제하기 truncate '' 테이블 생성 create '', '' 데이터 추가하기 put '', '', '', '' row 삭제하기 deleteall '', ''