본문 바로가기

JanusGraph/JanusGraph 실습

JanusGraph 실습 3 / Hbase 설치 및 활용 가이드

✅ 1단계: 이미지 다운로드 및 세팅

이미지가 정상적으로 다운로드됐는지 확인

명령어

docker images

결과 예시

REPOSITORY       TAG       IMAGE ID       CREATED        SIZE
dajobe/hbase     latest    daa36a6d90b1   6 years ago    827MB

설명

  • REPOSITORY 열에서 dajobe/hbase가 보이면 다운로드 성공
  • IMAGE ID, CREATED, SIZE를 통해 이미지 정보를 확인할 수 있음
  • 위 예시에서는 827MB, 생성된 지는 6년 된 오래된 이미지입니다. (그래서 더 가볍고 빠르게 시작되기도 함)

🧠 TAG가 latest인 것은 별도로 버전을 지정하지 않았기 때문입니다.


🗂️ 데이터 디렉토리 생성 (선택)

명령어

mkdir data

설명

  • 이 디렉토리는 이후 HBase 컨테이너에 볼륨으로 연결해서 데이터를 로컬에 저장하는 데 사용됩니다.
  • 예: -v ~/data:/hbase-data 형태로 마운트 가능

❗ 추가로 Windows에서 주의할 점

cd /home/snail 명령어 오류

Windows 환경에서는 Linux와 파일 경로 체계가 다릅니다.
/home/snail은 Linux의 사용자 홈 디렉토리 경로로, Windows에서는 사용되지 않습니다.


✅ 2-1단계: hbase-docker ip주소 확인 및 내 host 파일 수정

1️⃣ 관리자 권한으로 메모장 실행

  • 시작 메뉴 → 메모장 검색 → 우클릭 → “관리자 권한으로 실행”

2️⃣ hosts 파일 열기

  • 파일 > 열기 선택
  • 경로 입력:
  • C:\Windows\System32\drivers\etc\hosts
  • 파일 형식을 "모든 파일 (.)"로 변경해야 hosts 파일이 보입니다.

3️⃣ 맨 아래에 컨테이너 내부에서 확인된 hbase ip 주소를 추가

아래 코드는 컨태이너 내부에서 실행한 코드

cat /etc/hosts
## 결과
127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::  ip6-localnet
ff00::  ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.3      hbase-docker
172.17.0.3 hbase-docker
  • 이 줄은 Docker 컨테이너 내부 IP를 hbase-docker라는 호스트명으로 로컬에서 인식하게 만듭니다.

4️⃣ 저장 후 종료

  • 저장(ctrl + S) 후 닫고, 변경 사항은 즉시 반영됩니다.

 확인된 172.17.0.3 주소를 이제 C:\Windows\System32\drivers\etc 주소에 있는 hosts 파일에 해당 ip 주소를 등록해주어야 함

=> 이때 꼭 관리자권한으로 실행!

폴더 및 파일(hosts)
메모장에 기록

✅ 2-2단계: 포트가 열려 있어야 한다.(포트 확인)

docker run 명령 실행 시 포트 바인딩 (-p) 옵션을 안 줬다면 외부에서 접근이 안 됩니다.

🔍 확인: 실행한 명령어가 이런 식인가요?

docker run --name hbase-docker -h hbase-docker -d -v %cd%\Ddata:/data dajobe/hbase
=> 실패 확률이 높음

이 명령어에는 -p 옵션이 없습니다.
→ 따라서 16010, 8085, 9095 등 외부 접속용 포트가 열려 있지 않아요.


✅ 2-3단계: 올바르게 실행하려면 포트를 지정해서 실행

docker run -d --name hbase-docker -h hbase-docker ^
  -p 16010:16010 -p 8085:8085 -p 9095:9095 ^
  -v %cd%\Ddata:/data dajobe/hbase

이 명령어는 ^ 기준으로 여러 줄일 뿐, CMD에선 한 줄로 붙여도 됩니다.

✅ 2-4단계: 아래 링크로 사이트 접속

Master UI http://localhost:16010/master-status
Thrift UI http://localhost:9095/thrift.jsp
REST UI http://localhost:8085/rest.jsp
Zookeeper UI http://localhost:16010/zk.jsp

 


✅ HBase 컨테이너 실행 확인

bash
복사편집
docker ps
  • 상태가 Up이면 정상 실행 중
  • HBase UI에 들어가기 전에 이 단계 꼭 확인하세요

[확인] HBase Master UI 접속

🔗 http://localhost:16010/master-status

  • 무엇을 할 수 있나?
    • 현재 HBase Master 상태 확인 (서버 정상 가동 여부)
    • 테이블 개수, Region Server 수 확인
    • 상단 메뉴에서 "HBase Configuration" 클릭 시 설정 확인(XML 보기 가능)

 

[명령어 실습] 테이블 생성 및 조회

 
create 'sampleTable', 'cf'
list
put 'sampleTable', 'row1', 'cf:name', 'Alice'
put 'sampleTable', 'row2', 'cf:name', 'Bob'
scan 'sampleTable'
get 'sampleTable', 'row1'

 

[확인] Thrift 서버 UI 접속

🔗 http://localhost:9095/thrift.jsp

  • 무엇을 할 수 있나?
    • Thrift 서버가 정상적으로 떠 있는지 확인
    • 외부 시스템에서 HBase를 Thrift API로 접근할 수 있게 해주는 중간 서버
    • 기본 설정 정보 및 로그 확인 가능

[확인] REST 서버 UI 접속

🔗 http://localhost:8085/rest.jsp

  • 무엇을 할 수 있나?
    • REST API 방식으로 HBase를 접근 가능하게 해주는 서버 확인
    • 예를 들어 curl이나 브라우저에서 HTTP로 HBase 쿼리 수행 가능

[확인] Zookeeper 연결 상태 확인

🔗 http://localhost:16010/zk.jsp

  • 무엇을 할 수 있나?
    • HBase 내부적으로 사용하는 Zookeeper 클러스터 연결 상태 확인
    • 분산환경에서 각 Region Server 간의 동기화 정보 확인

테이블 삭제 실습

disable 'sampleTable' drop 'sampleTable' list

 

 

주소 용도 기능
http://localhost:16010/master-status HBase Master 상태 확인 서버 실행 여부, 테이블/Region 수 확인
http://localhost:9095/thrift.jsp Thrift 서버 확인 외부 서비스와의 중간 연결 (API)
http://localhost:8085/rest.jsp REST 서버 확인 HTTP 방식 접근 가능 여부 확인
http://localhost:16010/zk.jsp Zookeeper 상태 보기 HBase 클러스터 구성 상태 모니터링