본문 바로가기

Study/Bigdata

Hbase 백업 및 복구 (Backup & Restore)

현재 상황이 외부인터넷이 연결된 클러스터에서 개발을 하고 Hbase에 들어있는 내용을 클라이언트의 폐쇠된 인터넷으로 클러스터 데이터를 옮기는 작업을 하고 있습니다.


다행은, 브릿지가 있어서 한대의 컴퓨터를 통해서 작업중이던 클러스터에 접근이 가능한 상황입니다


MySQL와 같이 RDMBS에서는 DUMP 방법이 편하게 되어있는데, 참HBASE는 뭐같네요


하지만 Backup Resotre방법은 쉽습니다.. 단 현 이방법은 테이블 단위로 진행이 됩니다.


 bin/hbase org.apache.hadoop.hbase.mapreduce.Export <tablename> <outputdir> [<versions> [<starttime> [<endtime>]]]>


다음과 같은 명령어를 이용해서 테이블을 백업합니다. 그러면 백업된 내용은 HDFS로 나오게 됩니다. 이걸 옮기려고 하는 환경으로 옮깁니다.

저같은경우는 폐쇠된 클러스터이기 때문에 로컬 복사해서 가져왔습니다 그런다음 작업할 위치의 클러스터에서 HDFS에 다시 올립니다


$ bin/hbase org.apache.hadoop.hbase.mapreduce.Import <tablename> <inputdir>


HDFS에 올린다음 다음 명령어를 이용해서 테이블을 복구해야합니다.

이때 중요한것이 Hbase에 테이블과 컬럼패밀리는 선언이 되어있어야합니다.RDBMS식으로 말하면 스키마는 미리 만들어놓으셔야합니다