HBase 로컬에서 연습을 위한 docker 설치
Hbase Docker에 설치
아래 도커 이미지를 이용해서 도커 환경에 HBase를 설치해 보도록 하겠다.
- 설치할 HBase Docker image
HBase Docker 실행 명령어 다운로드
아래 github에서 HBase Docker 실행 명령어 다운로드(clone) 받는다.
git clone git@github.com:dajobe/hbase-docker.git
HBase Docker 실행
docker가 구동된 상태에, 아래 명령어를 그대로 실행 시킨다.
./start-hbase.sh
컨테이너를 시작하고 검사하여 모든 로컬 API 포트와 웹 UI를 결정하고 아직 존재하지 않는 경우 컨테이너 IP에 대한 별칭을 추가하기 위해 /etc/hosts를 편집하도록 제안하는 start-hbase.sh 스크립트를 사용하는 것이 좋다.
컨테이너를 시작하여, 모든 로컬 API 포트와 웹 UI를 결정하고 상요 존재하지 않는 경우 컨테이너 IP에 대한 별칭을 추가하기 위해 /etc/hosts를 편집하도록 제안하는 start-hbase.sh 스크립트를 사용하는 것이 좋다.
% ./start-hbase.sh
start-hbase.sh: Starting HBase container
Error: No such container: hbase-docker
Unable to find image 'dajobe/hbase:latest' locally
latest: Pulling from dajobe/hbase
6cf436f81810: Pulling fs layer
... 중간 생략 ...
159beed970fa: Pull complete
Digest: sha256:daa36a6d90b118ced866b6c76fcd918e7da73302b0e4971f506f0f61f645a9fe
Status: Downloaded newer image for dajobe/hbase:latest
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
start-hbase.sh: Container has ID 3804d552250334cc850189e076b77cb0d3066850cef332bec7a125dc29228361
./start-hbase.sh: line 32: python: command not found
여기 컨테이너 ID는 3804d552250334cc850189e076b77cb0d3066850cef332bec7a125dc29228361
이다. Shell 실행시 필요하니 기록해 두자.
위 명령어를 실행 시키면, 실행 시킨 현재 경로에 data
가 생성이 되고, port가 열리면서 HBase가 실행될 것이다.
수동을 실행 시키는 방법
docker run --name=hbase-docker \
-h hbase-docker \
-p 9095:9095 \
-p 8085:8085 \
-p 16010:16010 \
-v $PWD/data:/data \
-d dajobe/hbase
Hbase Shell 실행
다음으로 도커 이미지를 이용해서 HBase에 접속할 수 있는 Shell 컨멘드를 실행해 보도로 하겠다.
위에서 기록한 컨테이너 ID를 $id
에 넣고 실행한다.
docker run --rm -it --link $id:hbase-docker dajobe/hbase hbase shell
macOS Apple Chip(M1, M2)인 경우에는 아래와 같이 에러가 날 수 있다.
% docker run --rm -it --link 3804d552250334cc850189e076b77cb0d3066850cef332bec7a125dc29228361:hbase-docker dajobe/hbase hbase shell
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
그러면, 이미 실행된 docker는 삭제하고, --platform linux/amd64
옵션을 넣고, 다시 실행 시키면 동작을 할 것이다.
% docker run --rm -it --platform linux/amd64 --link 3804d552250334cc850189e076b77cb0d3066850cef332bec7a125dc29228361:hbase-docker dajobe/hbase hbase shell
2023-06-16 09:38:17,680 WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.1.2, r1dfc418f77801fbfb59a125756891b9100c1fc6d, Sun Dec 30 21:45:09 PST 2018
Took 0.0480 seconds
hbase(main):001:0>
shell에서 빠져나오는 명령은 quit
이다.
hbase(main):005:0> quit
Command 사용 방법은 다음 페이지에서 설명하도록 하겠습니다.