HBase 셸 설치
HBase 셸은 테이블 생성 및 삭제와 같은 관리 작업을 수행하는 명령줄 도구입니다. 자바용 Cloud Bigtable HBase 클라이언트는 HBase 셸을 사용하여 Bigtable에 연결할 수 있는 클라이언트 라이브러리입니다.
이 페이지에서는 Compute Engine 인스턴스 또는 자체 머신에 HBase 셸 및 자바용 Cloud Bigtable HBase 클라이언트를 함께 설치하는 방법에 대해 설명합니다. Apache ZooKeeper와 같은 다른 HBase 종속 항목은 설치할 필요가 없습니다. 자바용 Cloud Bigtable HBase 클라이언트에는 이러한 추가 종속 항목이 필요하지 않습니다.
Cloud Shell에서 HBase 셸도 실행할 수 있습니다. 자세한 내용은 HBase 셸을 사용한 빠른 시작을 참조하세요.
시작하기 전에
시작하기 전에 다음 작업을 완료해야 합니다.
- Bigtable 인스턴스를 만듭니다. 프로젝트 ID와 인스턴스 ID를 메모하세요.
- Google Cloud CLI 설치 자세한 내용은 Google Cloud CLI 설정 안내를 참조하세요.
- Compute Engine 인스턴스에 HBase 셸을 설치할 경우 Bigtable에 대한 올바른 범위를 가진 인스턴스를 만듭니다.
자바 설치
자바용 Cloud Bigtable HBase 클라이언트에서 HBase 셸을 사용하려면 자바 8 런타임 환경을 설치해야 합니다. 다른 자바 버전은 지원되지 않습니다.
Debian GNU/Linux 또는 Ubuntu의 경우 다음 명령을 실행하여 자바 8 JDK를 설치할 수 있습니다.
sudo apt-get update
sudo apt-get install openjdk-8-jdk-headless
그 밖의 운영체제에는 자바 JDK를 다운로드하여 설치할 수 있습니다.
Maven 설치
HBase 셸을 실행하려면 Apache Maven을 설치해야 합니다. HBase 셸은 Maven을 사용하여 필요한 종속 항목을 다운로드합니다.
Debian GNU/Linux 또는 Ubuntu의 경우 다음 명령을 실행하여 Maven을 설치할 수 있습니다.
sudo apt-get update
sudo apt-get install maven
macOS에서는 Homebrew를 사용하여 Maven을 설치할 수 있습니다.
brew install maven
그 밖의 운영체제의 경우 Maven 웹사이트의 안내를 참조하세요.
사용자 인증 정보 획득
자체 머신에 HBase 셸을 설치하려면 Google Cloud 리소스에 대한 액세스 사용자 인증 정보를 받아야 합니다.
사용자 인증 정보를 받으려면 다음 명령을 실행하세요.
gcloud auth application-default login
이 명령을 입력하면 웹브라우저가 열립니다. 메시지가 표시되면 Google 계정을 선택하고 허용을 클릭하여 계정 액세스를 승인합니다.
HBase 셸 설정
필수 파일 다운로드
명령줄에서 HBase 셸 빠른 시작이 포함된 GitHub 저장소를 클론합니다.
git clone https://github.com/GoogleCloudPlatform/cloud-bigtable-examples.git
저장소가 cloud-bigtable-examples
디렉터리에 클론됩니다.
JAVA_HOME 환경 변수 설정
셸의 JAVA_HOME
환경 변수는 자바 런타임 환경이 있는 위치로 설정되어야 합니다.
JAVA_HOME
의 현재 값을 찾으려면 다음 명령어를 실행합니다.
echo ${JAVA_HOME}
이 명령어가 출력되지 않으면 변수가 설정되지 않은 것입니다.
Debian GNU/Linux 또는 Ubuntu에서 값을 설정하려면 다음을 실행합니다.
export JAVA_HOME=$(update-alternatives --list java | tail -1 | sed -E 's/\/bin\/java//')
Debian GNU/Linux 또는 Ubuntu의 일반적인 값은 /usr/lib/jvm/java-8-openjdk-amd64/jre
입니다.
macOS에서 값을 설정하려면 다음을 실행합니다(Xcode의 명령줄 도구 필요).
export JAVA_HOME=$(/usr/libexec/java_home)
macOS의 일반적인 값은 /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
입니다.
JAVA_HOME
값을 설정한 후에는 다음 명령어를 실행하여 값이 적절한 자바 버전을 참조하는지 확인합니다.
${JAVA_HOME}/bin/java -version
Bigtable 인스턴스에 연결
HBase 셸을 사용하면 Bigtable 인스턴스에 연결하고, 기존 테이블에 대한 정보를 가져오고, 새 테이블을 만들 수 있습니다.
HBase 셸을 시작하려면 cloud-bigtable-examples
GitHub 저장소를 클론한 디렉터리에서 다음 명령어를 실행합니다.
cd quickstart
./quickstart.sh
프로젝트에 Bigtable 인스턴스가 하나만 있으면 HBase 셸은 자동으로 이 인스턴스에 연결됩니다. 프로젝트에 Bigtable 인스턴스가 여러 개 있는 경우 HBase 셸에 인스턴스 ID 목록이 표시됩니다. 인스턴스 ID 옆에 숫자를 입력한 다음 Enter 키를 누릅니다.
HBase 셸이 인스턴스에 연결되면 정상적인 일련의 로그 메시지를 표시합니다. 그러면 다음과 같은 셸 메시지가 표시됩니다.
hbase(main):001:0>
이제 HBase 셸이 시작되었으므로 다음 명령어를 실행해 봅니다.
테이블을 나열하려면
list
를 입력하고 Enter 키를 누릅니다. 아직 테이블이 생성되지 않았으면 HBase 셸에 다음과 유사한 메시지가 표시됩니다.TABLE 0 row(s) in 1.3580 seconds => []
테이블을 만들려면
create
명령어를 사용합니다. 예를 들어cf1
이라는 column family 하나가 포함된my-table
이라는 테이블을 만들려면 다음을 실행합니다.create 'my-table', 'cf1'
셸에 다음과 유사한 메시지가 표시됩니다.
0 row(s) in 1.5210 seconds => Hbase::Table - my-table
테이블에 데이터를 추가하려면
put
명령어를 사용합니다. 예를 들어 column familycf1
과 column qualifierc1
을 사용하여test-value
값을r1
행에 입력합니다.put 'my-table', 'r1', 'cf1:c1', 'test-value'
그러면
scan
명령어를 사용하여 테이블을 검사하고 추가한 데이터를 읽을 수 있습니다.scan 'my-table'
셸에 다음과 유사한 출력이 표시됩니다.
ROW COLUMN+CELL r1 column=cf1:c1, timestamp=1430687836046, value=test-value 1 row(s) in 0.6260 seconds
테이블을 삭제하려면
disable
명령어를 사용하여 테이블을 중지한 후drop
명령어를 사용합니다. 예를 들어my-table
테이블을 삭제하려면 다음을 실행합니다.disable 'my-table' drop 'my-table'
HBase 셸을 종료하려면
exit
를 입력하고 Enter 키를 누릅니다.
HBase 셸이 실행되는 동안 help
를 입력하면 사용 안내를 볼 수 있습니다.
자세한 내용은 HBase 문서를 참조하세요.