HBase 시작하기

HBase 시작하기 (Getting Started)

HBase를 처음 설치해서 실제로 사용해 보는 과정을 안내하는 페이지예요. 단일 노드 standalone 모드부터 분산 모드까지 단계별로 따라 해볼 수 있어요.

출처: 문서

본문

빠른 시작 - Standalone HBase (Quick Start - Standalone HBase)

이 섹션은 단일 노드 standalone HBase 설정을 설명해요. standalone 인스턴스는 모든 HBase 데몬 — Master, RegionServers, ZooKeeper — 이 단일 JVM에서 실행되며 로컬 파일시스템에 영속화해요. 가장 기본적인 배포 프로파일이에요. hbase shell CLI로 테이블을 만들고, 행을 삽입하고, put·scan 연산을 수행하고, 테이블을 enable·disable 하고, HBase를 시작·중지하는 방법을 보여드릴게요.

HBase 다운로드를 제외하면 이 절차는 10분도 채 걸리지 않아요.

JDK 버전 요구 사항 (JDK Version Requirements)

HBase는 JDK가 설치되어 있어야 해요. 지원되는 JDK 버전에 대한 정보는 Java를 참고하세요.

HBase로 시작하기 (Get Started with HBase)

절차: Standalone 모드에서 HBase 다운로드, 설정, 시작 (Procedure: Download, Configure, and Start HBase in Standalone Mode)

Apache Download Mirrors 목록에서 다운로드 사이트를 선택하세요. 안내된 최상단 링크를 클릭하세요. 그러면 HBase Releases 미러로 이동해요. stable 폴더를 클릭한 뒤 .tar.gz로 끝나는 바이너리 파일을 로컬 파일시스템에 다운로드하세요. 일단 src.tar.gz로 끝나는 파일은 다운로드하지 마세요.

다운로드한 파일을 압축 풀고, 새로 생성된 디렉터리로 이동하세요.

tar xzvf <FILE_NAME>.tar.gz cd <DIRECTORY_NAME>

HBase를 시작하기 전에 JAVA_HOME 환경 변수를 설정해야 해요. 이를 쉽게 하기 위해 HBase는 conf/hbase-env.sh 파일 안에서 설정할 수 있게 해줘요. 머신에서 Java가 설치된 위치를 찾아야 하는데, whereis java 명령으로 찾을 수 있어요. 위치를 확인한 뒤 conf/hbase-env.sh 파일을 편집하고 *#export JAVA_HOME=*으로 시작하는 줄의 주석을 해제한 뒤, 자신의 Java 설치 경로로 설정하세요.

hbase-env.sh에서 JAVA_HOME이 설정된 예시

Set environment variables here.

The java implementation to use.

export JAVA_HOME=/usr/jdk64/jdk1.8.0_112

bin/start-hbase.sh 스크립트는 HBase를 편리하게 시작하도록 제공돼요. 명령을 실행하면 성공적으로 시작됐다는 메시지가 표준 출력으로 기록돼요. jps 명령으로 HMaster라는 실행 중인 프로세스가 하나 있는지 확인할 수 있어요. standalone 모드에서 HBase는 단일 JVM 안에서 모든 데몬, 즉 HMaster, 단일 HRegionServer, ZooKeeper 데몬을 실행해요. http://localhost:16010으로 이동해 HBase Web UI를 확인하세요.

절차: 처음으로 HBase 사용하기 (Procedure: Use HBase For the First Time)

HBase에 연결하기 (Connect to HBase)

HBase 설치의 bin/ 디렉터리에 있는 hbase shell 명령으로 실행 중인 인스턴스에 접속하세요. 이 예제에서는 HBase Shell 시작 시 출력되는 일부 사용 정보와 버전 정보는 생략했어요. HBase Shell 프롬프트는 > 문자로 끝나요.

$ ./bin/hbase shell hbase(main):001:0>

HBase Shell 도움말 텍스트 표시하기 (Display HBase Shell Help Text)

help를 입력하고 Enter를 누르면 HBase Shell의 기본 사용 정보와 예제 명령 몇 가지가 표시돼요. 테이블 이름, 행, 칼럼은 모두 따옴표로 감싸야 한다는 점을 기억하세요.

테이블 생성하기 (Create a table)

create 명령으로 새 테이블을 만드세요. 테이블 이름과 ColumnFamily 이름을 지정해야 해요.

hbase(main):001:0> create 'test', 'cf' 0 row(s) in 0.4170 seconds

=> Hbase::Table - test

테이블에 대한 정보 나열하기 (List Information About your Table)

list 명령으로 테이블이 존재하는지 확인하세요.

hbase(main):002:0> list 'test' TABLE test 1 row(s) in 0.0180 seconds

=> ["test"]

이제 describe 명령으로 설정 기본값을 포함한 상세 정보를 확인하세요.

hbase(main):003:0> describe 'test' Table test is ENABLED test COLUMN FAMILIES DESCRIPTION {NAME => 'cf', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'f alse', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'} 1 row(s) Took 0.9998 seconds

테이블에 데이터 넣기 (Put data into your table)

테이블에 데이터를 넣으려면 put 명령을 사용하세요.

hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1' 0 row(s) in 0.0850 seconds

hbase(main):004:0> put 'test', 'row2', 'cf:b', 'value2' 0 row(s) in 0.0110 seconds

hbase(main):005:0> put 'test', 'row3', 'cf:c', 'value3' 0 row(s) in 0.0100 seconds

여기서 세 값을 하나씩 삽입해요. 첫 번째 삽입은 row1의 cf:a 칼럼에 value1 값을 넣는 거예요. HBase의 칼럼은 컬럼 패밀리 접두사(이 예에서는 cf)로 구성되고, 그다음 콜론, 그리고 칼럼 퀄리파이어 접미사(이 경우엔 a)로 이루어져요.

테이블의 모든 데이터를 한 번에 스캔하기 (Scan the table for all data at once)

HBase에서 데이터를 가져오는 방법 중 하나는 scan이에요. scan 명령으로 테이블을 스캔해 데이터를 가져오세요. 스캔을 제한할 수도 있지만, 지금은 모든 데이터를 가져와요.

hbase(main):006:0> scan 'test' ROW COLUMN+CELL row1 column=cf:a, timestamp=1421762485768, value=value1 row2 column=cf:b, timestamp=1421762491785, value=value2 row3 column=cf:c, timestamp=1421762496210, value=value3 3 row(s) in 0.0230 seconds

단일 행의 데이터 가져오기 (Get a single row of data)

한 번에 단일 행의 데이터를 가져오려면 get 명령을 사용하세요.

hbase(main):007:0> get 'test', 'row1' COLUMN CELL cf:a timestamp=1421762485768, value=value1 1 row(s) in 0.0350 seconds

테이블 비활성화하기 (Disable a table)

테이블을 삭제하거나 설정을 변경하려면(그 외 일부 상황에서도) 먼저 disable 명령으로 테이블을 비활성화해야 해요. enable 명령으로 다시 활성화할 수 있어요.

hbase(main):008:0> disable 'test' 0 row(s) in 1.1820 seconds

hbase(main):009:0> enable 'test' 0 row(s) in 0.1770 seconds

위에서 enable 명령을 테스트했다면 테이블을 다시 비활성화하세요.

hbase(main):010:0> disable 'test' 0 row(s) in 1.1820 seconds

테이블 삭제하기 (Drop the table)

테이블을 삭제하려면 drop 명령을 사용하세요.

hbase(main):011:0> drop 'test' 0 row(s) in 0.1370 seconds

HBase Shell 종료하기 (Exit the HBase Shell)

HBase Shell을 종료하고 클러스터에서 연결을 끊으려면 quit 명령을 사용하세요. HBase는 백그라운드에서 계속 실행돼요.

절차: HBase 중지하기 (Procedure: Stop HBase)

bin/start-hbase.sh 스크립트가 모든 HBase 데몬을 편리하게 시작하듯이, bin/stop-hbase.sh 스크립트는 그것들을 중지해요.

$ ./bin/stop-hbase.sh stopping hbase....................

명령 실행 후 프로세스가 종료되는 데 몇 분이 걸릴 수 있어요. jps를 사용해 HMaster와 HRegionServer 프로세스가 종료됐는지 확인하세요.

위에서 HBase standalone 인스턴스를 시작·중지하는 방법을 봤어요. 다음 섹션에서는 다른 HBase 배포 모드에 대한 간략한 개요를 드릴게요.

로컬 테스트용 Pseudo-Distributed (Pseudo-Distributed for Local Testing)

quickstart standalone 모드를 익힌 뒤, HBase를 pseudo-distributed 모드로 재설정할 수 있어요. Pseudo-distributed 모드는 HBase가 여전히 단일 호스트에서 완전히 실행되지만 각 HBase 데몬(HMaster, HRegionServer, ZooKeeper)이 별도의 프로세스로 실행되는 것을 의미해요. standalone 모드에서는 모든 데몬이 하나의 jvm 프로세스/인스턴스에서 실행됐죠. 기본적으로 quickstart에서 설명한 대로 hbase.rootdir 속성을 설정하지 않으면 데이터는 여전히 */tmp/*에 저장돼요. 이 실습에서는 HDFS를 사용할 수 있다고 가정하고 데이터를 HDFS에 저장할 거예요. HDFS 설정을 건너뛰고 데이터를 계속 로컬 파일시스템에 저장할 수도 있어요.

이 절차는 로컬 시스템 및/또는 원격 시스템에 Hadoop과 HDFS를 설정했고, 그것들이 실행 중이며 사용 가능하다고 가정해요. 또한 Hadoop 2를 사용한다고 가정해요. Hadoop 문서의 Setting up a Single Node Cluster 가이드가 좋은 출발점이에요.

실행 중이면 HBase 중지하기 (Stop HBase if it is running)

방금 quickstart를 마쳤고 HBase가 아직 실행 중이라면 중지하세요. 이 절차는 HBase가 데이터를 저장할 완전히 새로운 디렉터리를 만들기 때문에, 이전에 만든 데이터베이스는 전부 사라져요.

HBase 설정하기 (Configure HBase)

hbase-site.xml 설정을 편집하세요. 먼저 다음 속성을 추가해서 HBase가 데몬당 하나의 JVM 인스턴스로 분산 모드에서 실행되게 하세요.

hbase.cluster.distributed true

다음으로 hbase.rootdir 설정을 추가하고 hdfs://// URI 문법으로 HDFS 인스턴스 주소를 가리키게 하세요. 이 예제에서 HDFS는 localhost의 포트 8020에서 실행돼요.

hbase.rootdir hdfs://localhost:9000/hbase

HDFS에 디렉터리를 만들 필요는 없어요. HBase가 직접 만들어줘요. 디렉터리를 만들면 HBase가 마이그레이션을 시도하므로 원치 않는 상황이 발생할 수 있어요.

마지막으로 hbase.tmp.dir과 hbase.unsafe.stream.capability.enforce의 기존 설정을 제거하세요.

HBase 시작하기 (Start HBase)

bin/start-hbase.sh 명령으로 HBase를 시작하세요. 시스템이 올바르게 설정됐다면 jps 명령에 HMaster와 HRegionServer 프로세스가 실행 중으로 표시될 거예요.

HDFS의 HBase 디렉터리 확인하기 (Check the HBase directory in HDFS)

모든 게 정상적으로 동작했다면 HBase가 HDFS에 디렉터리를 만들었을 거예요. 위 설정에서 */hbase/*에 저장돼요. Hadoop의 bin/ 디렉터리에 있는 hadoop fs 명령으로 이 디렉터리를 나열할 수 있어요.

$ ./bin/hadoop fs -ls /hbase Found 7 items drwxr-xr-x - hbase users 0 2014-06-25 18:58 /hbase/.tmp drwxr-xr-x - hbase users 0 2014-06-25 21:49 /hbase/WALs drwxr-xr-x - hbase users 0 2014-06-25 18:48 /hbase/corrupt drwxr-xr-x - hbase users 0 2014-06-25 18:58 /hbase/data -rw-r--r-- 3 hbase users 42 2014-06-25 18:41 /hbase/hbase.id -rw-r--r-- 3 hbase users 7 2014-06-25 18:41 /hbase/hbase.version drwxr-xr-x - hbase users 0 2014-06-25 21:49 /hbase/oldWALs

테이블을 만들고 데이터로 채우기 (Create a table and populate it with data)

HBase Shell로 shell 연습과 동일한 절차로 테이블을 만들고, 데이터를 채우고, 값을 scan·get 할 수 있어요.

백업 HBase Master(HMaster) 서버 시작·중지하기 (Start and stop a backup HBase Master (HMaster) server)

동일한 하드웨어에서 여러 HMaster 인스턴스를 실행하는 것은 프로덕션 환경에서는 의미가 없어요. 마찬가지로 pseudo-distributed 클러스터도 프로덕션용으로는 의미가 없죠. 이 단계는 테스트와 학습 목적으로만 제공돼요.

HMaster 서버는 HBase 클러스터를 제어해요. 최대 9개의 백업 HMaster 서버를 시작할 수 있어요. 그러면 주(primary)를 포함해 총 10개의 HMaster가 돼요. 백업 HMaster를 시작하려면 local-master-backup.sh를 사용하세요. 시작하려는 각 백업 마스터마다 그 마스터의 포트 오프셋을 나타내는 매개변수를 추가하세요. 각 HMaster는 두 개의 포트(기본적으로 16000과 16010)를 사용해요. 포트 오프셋이 이 포트들에 더해지므로, 오프셋 2를 사용하면 백업 HMaster는 16002와 16012 포트를 사용해요. 다음 명령은 16002/16012, 16003/16013, 16005/16015 포트를 사용하는 3개의 백업 서버를 시작해요.

./bin/local-master-backup.sh start 2 3 5

전체 클러스터를 죽이지 않고 백업 마스터를 죽이려면 그 프로세스 ID(PID)를 찾아야 해요. PID는 /tmp/hbase-USER-X-master.pid 같은 이름의 파일에 저장돼요. 파일의 내용은 PID뿐이에요. kill -9 명령으로 그 PID를 죽일 수 있어요. 다음 명령은 포트 오프셋 1인 마스터를 죽이지만 클러스터는 계속 실행되게 해요.

cat /tmp/hbase-testuser-1-master.pid |xargs kill -9

추가 RegionServer 시작·중지하기 (Start and stop additional RegionServers)

HRegionServer는 HMaster의 지시에 따라 StoreFiles의 데이터를 관리해요. 일반적으로 클러스터의 노드당 하나의 HRegionServer가 실행돼요. 같은 시스템에서 여러 HRegionServer를 실행하는 것은 pseudo-distributed 모드의 테스트에 유용할 수 있어요. local-regionservers.sh 명령으로 여러 RegionServer를 실행할 수 있어요. 각 매개변수가 인스턴스의 포트 오프셋을 나타내는 local-master-backup.sh 명령과 비슷하게 동작해요. 각 RegionServer는 두 개의 포트가 필요하며 기본 포트는 16020과 16030이에요. HBase 1.1.0부터 HMaster는 region server 포트를 사용하지 않으므로, RegionServer용으로 10개 포트(1602016029, 1603016039)가 남아요. 추가 RegionServer를 지원하려면 HBASE_RS_BASE_PORT와 HBASE_RS_INFO_BASE_PORT 환경 변수를 설정하세요. (이하 상세 내용은 원문 참고)

운영용 Fully Distributed (Fully Distributed for Production)

실제로 HBase를 완전히 테스트하고 실제 환경에서 사용하려면 fully-distributed 설정이 필요해요. 분산 설정에서 클러스터는 여러 노드를 포함하고 각 노드는 하나 이상의 HBase 데몬을 실행해요. 여기에는 주·백업 Master 인스턴스, 여러 ZooKeeper 노드, 여러 RegionServer 노드가 포함돼요.

이 고급 quickstart는 클러스터에 노드 두 개를 더 추가해요. 아키텍처는 다음과 같아요.

Node Name Master ZooKeeper RegionServer
node-a.example.com yes yes no
node-b.example.com backup yes yes
node-c.example.com no yes yes

분산 클러스터 데모 아키텍처

이 quickstart는 각 노드가 가상 머신이고 모두 같은 네트워크에 있다고 가정해요. 이전 quickstart인 Pseudo-Distributed for Local Testing에 기반하며, 그 절차에서 구성한 시스템이 이제 node-a라고 가정해요. 계속하기 전에 node-a에서 HBase를 중지하세요.

모든 노드가 완전히 통신할 수 있고, 서로 대화하는 것을 막는 방화벽 규칙이 없다는 것을 확인하세요. no route to host 같은 오류가 보이면 방화벽을 확인하세요.

절차: 비밀번호 없는 SSH 접근 설정 (Procedure: Configure Passwordless SSH Access)

node-a는 데몬을 시작하기 위해 node-b와 node-c(그리고 자기 자신)에 로그인할 수 있어야 해요. 이를 달성하는 가장 쉬운 방법은 모든 호스트에서 동일한 사용자 이름을 사용하고, node-a에서 다른 각 노드로의 비밀번호 없는 SSH 로그인을 구성하는 거예요.

node-a에서 키 페어 생성하기 (On node-a, generate a key pair)

HBase를 실행할 사용자로 로그인한 상태에서 다음 명령으로 SSH 키 페어를 생성하세요.

ssh-keygen -t rsa

명령이 성공하면 키 페어의 위치가 표준 출력으로 출력돼요. 공개 키의 기본 이름은 id_rsa.pub이에요.

다른 노드에 공유 키를 담을 디렉터리 만들기 (Create the directory that will hold the shared keys on the other nodes)

node-b와 node-c에서 HBase 사용자로 로그인하고, 사용자 홈 디렉터리에 .ssh/ 디렉터리가 없다면 만드세요. 이미 존재한다면 다른 키가 이미 포함되어 있을 수 있다는 점을 유의하세요.

다른 노드로 공개 키 복사하기 (Copy the public key to the other nodes)

node-a의 공개 키를 scp나 다른 안전한 방법으로 각 노드에 안전하게 복사하세요. 다른 각 노드에서 .ssh/authorized_keys라는 새 파일을 없으면 만들고 id_rsa.pub 파일의 내용을 끝에 추가하세요. node-a 자신에게도 이 작업을 해야 한다는 점을 유의하세요.

cat id_rsa.pub >> ~/.ssh/authorized_keys

비밀번호 없는 로그인 테스트하기 (Test password-less login)

절차를 올바르게 수행했다면 node-a에서 다른 노드로 같은 사용자 이름으로 SSH할 때 비밀번호를 묻지 않을 거예요.

node-b가 백업 Master를 실행하므로 위 절차를 반복하되 node-a가 보이는 모든 곳에 node-b를 대입하세요. 기존 .ssh/authorized_keys 파일을 덮어쓰지 말고, > 연산자 대신 >> 연산자로 새 키를 기존 파일에 이어붙이도록 주의하세요.

절차: node-a 준비 (Procedure: Prepare node-a)

node-a는 주(primary) master와 ZooKeeper 프로세스를 실행하지만 RegionServer는 실행하지 않아요. node-a에서 RegionServer가 시작되지 않도록 중지하세요.

conf/regionservers를 편집하고 localhost가 포함된 줄을 제거하세요. node-b와 node-c의 호스트명이나 IP 주소 줄을 추가하세요.

node-a에서 RegionServer를 실행하고 싶다 하더라도 다른 서버가 통신할 때 사용하는 호스트명으로 참조해야 해요. 이 경우 node-a.example.com이 될 거예요. 이렇게 하면 호스트명 충돌 없이 설정을 클러스터의 각 노드에 배포할 수 있어요. 파일을 저장하세요.

HBase가 node-b를 백업 마스터로 사용하도록 설정하기 (Configure HBase to use node-b as a backup master)

*conf/*에 backup-masters라는 새 파일을 만들고 node-b의 호스트명으로 새 줄을 추가하세요. 이 데모에서 호스트명은 node-b.example.com이에요.

ZooKeeper 설정하기 (Configure ZooKeeper)

실제로는 ZooKeeper 설정을 신중히 고려해야 해요. ZooKeeper 설정에 대한 자세한 내용은 zookeeper 섹션에서 확인할 수 있어요. 이 설정은 HBase가 클러스터의 각 노드에서 ZooKeeper 인스턴스를 시작·관리하도록 지시해요.

node-a에서 conf/hbase-site.xml을 편집하고 다음 속성들을 추가하세요.

hbase.zookeeper.quorum node-a.example.com,node-b.example.com,node-c.example.com hbase.zookeeper.property.dataDir /usr/local/zookeeper

설정 어디에서든 node-a를 localhost로 참조했다면, 다른 노드가 node-a를 참조할 때 사용할 호스트명을 가리키도록 변경하세요. 이 예시들에서 호스트명은 node-a.example.com이에요.

절차: node-b와 node-c 준비 (Procedure: Prepare node-b and node-c)

node-b는 백업 마스터 서버와 ZooKeeper 인스턴스를 실행해요.

HBase 다운로드 및 압축 풀기 (Download and unpack HBase)

standalone 및 pseudo-distributed quickstart에서 했던 것처럼 node-b에 HBase를 다운로드하고 압축을 풀어요.

node-a의 설정 파일을 node-b와 node-c로 복사하기 (Copy the configuration files from node-a to node-b.and node-c)

클러스터의 각 노드는 동일한 설정 정보를 가져야 해요. conf/ 디렉터리의 내용을 node-b와 node-c의 conf/ 디렉터리로 복사하세요.

절차: 클러스터 시작 및 테스트 (Procedure: Start and Test Your Cluster)

어떤 노드에서도 HBase가 실행 중이 아닌지 확인하기 (Be sure HBase is not running on any node)

이전 테스트에서 HBase 중지를 잊었다면 오류가 발생할 거예요. jps 명령을 사용해 어떤 노드에서 HBase가 실행 중인지 확인하세요. HMaster, HRegionServer, HQuorumPeer 프로세스를 찾아보세요. 존재한다면 죽이세요.

클러스터 시작하기 (Start the cluster)

node-a에서 start-hbase.sh 명령을 실행하세요. 출력은 아래와 비슷할 거예요.

$ bin/start-hbase.sh node-c.example.com: starting zookeeper, logging to /home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-zookeeper-node-c.example.com.out node-a.example.com: starting zookeeper, logging to /home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-zookeeper-node-a.example.com.out node-b.example.com: starting zookeeper, logging to /home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-zookeeper-node-b.example.com.out starting master, logging to /home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-master-node-a.example.com.out node-c.example.com: starting regionserver, logging to /home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-regionserver-node-c.example.com.out node-b.example.com: starting regionserver, logging to /home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-regionserver-node-b.example.com.out node-b.example.com: starting master, logging to /home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-master-nodeb.example.com.out

ZooKeeper가 먼저 시작되고, 그다음 master, 그다음 RegionServers, 마지막으로 백업 마스터가 시작돼요.

프로세스가 실행 중인지 확인하기 (Verify that the processes are running)

클러스터의 각 노드에서 jps 명령을 실행하고 각 서버에서 올바른 프로세스가 실행 중인지 확인하세요. 다른 목적으로 사용 중이라면 서버에서 추가 Java 프로세스가 실행 중일 수도 있어요.

node-a의 jps 출력

$ jps 20355 Jps 20071 HQuorumPeer 20137 HMaster

node-b의 jps 출력

$ jps 15930 HRegionServer 16194 Jps 15838 HQuorumPeer 16010 HMaster

node-c의 jps 출력

$ jps 13901 Jps 13639 HQuorumPeer 13737 HRegionServer

HQuorumPeer 프로세스는 HBase가 제어하고 시작하는 ZooKeeper 인스턴스예요. 이 방식으로 ZooKeeper를 사용하면 클러스터 노드당 한 인스턴스로 제한되며 테스트용으로만 적합해요. ZooKeeper가 HBase 밖에서 실행되면 그 프로세스는 QuorumPeer라고 불러요. HBase와 함께 외부 ZooKeeper 인스턴스를 사용하는 것을 포함해 ZooKeeper 설정에 대한 자세한 내용은 zookeeper 섹션을 참고하세요.

웹 UI로 이동하기 (Browse to the Web UI)

모든 것이 올바르게 설정됐다면 웹 브라우저로 Master UI http://node-a.example.com:16010/ 또는 보조 마스터 http://node-b.example.com:16010/에 접속할 수 있을 거예요. localhost로는 접속되는데 다른 호스트에서 안 된다면 방화벽 규칙을 확인하세요. 각 RegionServer의 웹 UI는 그 IP 주소의 16030 포트에서 보거나 Master 웹 UI에서 링크를 클릭해 볼 수 있어요.

노드나 서비스가 사라질 때 어떻게 되는지 테스트하기 (Test what happens when nodes or services disappear)

구성한 3노드 클러스터는 탄력성이 좋지 않을 거예요. 그래도 관련 프로세스를 죽이고 로그를 보면서 주 Master나 RegionServer의 동작을 테스트할 수 있어요.

다음으로 어디로 (Where to go next)

다음 챕터인 configuration은 다양한 HBase 실행 모드, HBase 실행을 위한 시스템 요구 사항, 분산 HBase 클러스터 구축을 위한 핵심 설정 영역에 대한 더 많은 정보를 제공해요.

더 알아보기 (Learn more)