[HBase 실습] HBase 설치

Hyunjun Kim·2025년 9월 2일
0

Data_Engineering

목록 보기
150/153

P08-C07 HBase 실습

1 HBase 설치

HBase standalone 버전으로 설치한다.



1.1 서버 세팅

EC2 인스턴스를 준비한다.

사전 프로그램들

EC2 항상 하던 세팅

sudo apt update && \
sudo apt install build-essential -y

Java

sudo apt-get install openjdk-8-jdk -y

set JAVA_HOME

  • which java 로 확인해본다.
echo 'export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre' >> ~/.bashrc \
	&& source ~/.bashrc

HBase 설치

wget https://dlcdn.apache.org/hbase/2.5.3/hbase-2.5.3-hadoop3-bin.tar.gz
tar xzvf hbase-2.5.3-hadoop3-bin.tar.gz
cd hbase-2.5.3-hadoop3
echo 'export HBASE_HOME=/home/ubuntu/hbase-2.5.3-hadoop3' >> ~/.bashrc \
	&& source ~/.bashrc


1.2 HBase 실행

HBASE 실행

$HBASE_HOME/bin/start-hbase.sh
ps -ef | grep hbase

WEBUI

$host:16010 으로 hbase web UI 에 접속할 수 있다.


HBase shell

HBase command 날리려면 HBase CLI로 들어가야 함.

$HBASE_HOME/bin/hbase shell

test table 을 만들고 데이터를 다루어본다.

create 'test', 'cf'

HBase 는 항상 cf(Column Family를 정의해야함. 실습에선 사용하지 않을 건데, 비어있으면 안되니까 'cf'로 채워넣은 상태.)

list (또는 list 'test')
describe 'test'
put 'test', 'row1', 'cf:a', 'value1'

put 하고 test 테이블에 넣을 거고, 맨 터음에 오는 게 rowkey. 그 다음에 오는 게 column family와 Qulifier. Qulifier로는 그냥 a를 넣어놓음.
그리고 마지막에 value값.

put 'test', 'row2', 'cf:b', 'value2'
put 'test', 'row3', 'cf:c', 'value3'
scan 'test'
get 'test', 'row1'

컬럼 정보랑 셀 정보가 나옴.


아마 실무에서 어떻게 쓸지 모르겠지만 큰 회사들 같은 경우는 hbase가 고성능이고 되게 대량 데이터로 다루고 민감한 장비다 보니 우리가 shell에 들어갈 일이 거의 없을 것. 권한도 없을 거고. 그리고 테이블 생성 같은 경우도 보통 요청해서 DBA가 생성을 하고 그런식으로 되어 있고. 애초에 생성 요청할 때 테이블 이름이랑 CF 내용들을 잘 정의할 필요가 있다.

그리고 사용할 사이즈 같은 경우는 선언할 때부터 알 필요는 없다 왜냐면 클러스터 내에서 무한히 확장이 가능하기 때문. 네임스페이스라는 기능이 있다. 네임스페이스는
네임스페이스가 앞에 붙고 테이블 이름이 그 다음에 붙는 식인데 같은 테스트라는 테이블 이름이 있어도 알파 네임스페이스, 베타 네임스페이스, 프로덕션 네임스페이스 이렇게 같은 클러스터 내에서 어떤 논리적 공간을 구분하기 위한 용도로 네임스페이스를 사용하기도 한다.

실제 사용하는 app 개발자라면 사실 HBase Shell을 쓸 일은 많지 않지만 실습을 위해 사용을 해 보았다. 주로 테이블 생성하고 간단한 통계 활용할 때 shell을 사용함.

profile
Data Analytics Engineer 가 되

0개의 댓글