Apache HBase 레퍼런스 가이드
Apache HBase 레퍼런스 가이드
이 문서는 Apache HBase의 공식 레퍼런스 가이드 전체를 한 페이지로 합쳐 놓은 문서예요. HBase의 각 주제에 대한 확실한 문서를 제공하거나, 관련 정보가 있는 Javadoc이나 JIRA의 위치를 가리켜 줘요. HBase 전반을 처음부터 체계적으로 배우고 싶다면 이 문서의 흐름을 따라가 보세요.
출처: 문서
본문
머리말
여기서는 참조된 HBase 버전이 출시될 당시의 HBase 주제에 대한 확실한 문서를 찾거나, 관련 정보를 찾을 수 있는 Javadoc 또는 JIRA의 위치를 가리켜 줄 거예요.
이 가이드에 대하여
이 레퍼런스 가이드는 진행 중인 작업이에요. 이 가이드의 소스는 HBase 소스의 hbase-website/app/pages/_docs/docs/_mdx/(multi-page) 디렉터리에서 찾을 수 있어요. 이 레퍼런스 가이드는 완성된 가이드가 'site' 빌드 대상의 일부로 생성되는 Fumadocs로 구동되는 MDX(확장된 마크다운)로 표시돼요. 다음을 실행해 이 문서를 생성하세요.
mvn site
문서에 대한 수정과 개선은 환영해요. 미리 선택된 일부 값으로 Apache HBase에 새 문서 버그를 제출하려면 이 링크를 클릭하세요.
문서에 기여하기
문서에 기여하기 시작하는 데 도움이 되는 개요와 제안은 관련 섹션을 참고하세요.
분산 컴퓨팅 세계에 처음 발을 들이는 분들에게 미리 알림...
분산 컴퓨팅의 멋진 세계에 처음 발을 들인다면 재미있는 시간이 될 거예요. 먼저, 분산 시스템은 어렵습니다. 분산 시스템을 잘 돌게 만드는 것은 시스템(하드웨어와 소프트웨어)과 네트워킹에 걸친 다양한 기술을 요구해요.
클러스터 운영은 수많은 이유로 딸꾹질할 수 있어요. HBase 자체의 버그부터 잘못된 구성 — HBase의 잘못된 구성은 물론 운영체제 잘못된 구성 — 그리고 네트워크 카드 드라이버 버그나 과소 프로비저닝된 RAM 버스 같은 하드웨어 문제까지요(최근 "HBase가 느리다"로 나타난 두 가지 하드웨어 문제의 예를 들자면). 지금까지 컴퓨팅이 단일 상자에 묶여 있었다면 재보정도 필요할 거예요.
좋은 시작점이 하나 있어요: Fallacies of Distributed Computing.
그렇지만, 환영해요. 재미있는 곳입니다. HBase 커뮤니티가.
버그 보고
비보안 관련 버그는 JIRA를 사용해 주세요.
기존 HBase 설치를 새 취약점으로부터 보호하려면 보안 관련 버그를 보고할 때 JIRA를 사용하지 마세요. 대신 메일링 리스트 [email protected]로 보고서를 보내세요. 이 목록은 누구나 메시지를 보낼 수 있지만 읽을 수 있는 사람은 제한돼요. 그 목록의 누군가가 보고서에 대한 후속 조치를 위해 연락할 거예요.
지원 및 테스트 기대치
지원됨(supported), 지원되지 않음(not supported), 테스트됨(tested), *테스트되지 않음(not tested)*이라는 표현은 이 가이드의 여러 곳에 나타나요. 명확성을 위해, HBase의 맥락에서 이 표현들이 일반적으로 무엇을 의미하는지 간단히 설명할게요.
Apache HBase에 대한 상업적 기술 지원은 많은 Hadoop 공급업체가 제공해요. 이것은 Apache HBase 프로젝트의 맥락에서 *지원(support)*이라는 용어가 사용되는 의미가 아니에요. Apache HBase 팀은 여러분의 HBase 클러스터, 구성, 데이터에 대해 책임을 지지 않아요.
지원됨
Apache HBase의 맥락에서 supported는 HBase가 설명된 방식대로 동작하도록 설계되었다는 뜻이며, 정의된 동작이나 기능에서 벗어나는 것은 버그로 보고되어야 해요.
지원되지 않음
Apache HBase의 맥락에서 not supported는 사용 사례나 사용 패턴이 동작할 것으로 예상되지 않으며 안티패턴으로 간주되어야 한다는 뜻이에요. 주어진 기능이나 사용 패턴에 대해 이 지정이 재고되어야 한다고 생각한다면 JIRA를 제출하거나 메일링 리스트 중 하나에서 토론을 시작하세요.
테스트됨
Apache HBase의 맥락에서 tested는 기능이 단위 또는 통합 테스트로 다뤄지고 기대한 대로 동작함이 입증됐다는 뜻이에요.
테스트되지 않음
Apache HBase의 맥락에서 not tested는 기능이나 사용 패턴이 주어진 방식으로 동작할 수도 있고 아닐 수도 있으며, 데이터를 손상시키거나 운영 문제를 일으킬 수도 있고 아닐 수도 있다는 뜻이에요. 그것은 알 수 없는 것이며 어떠한 보장도 없어요. 테스트되지 않음으로 지정된 기능이 주어진 방식으로 동작한다는 증거를 제공할 수 있다면, 다른 사용자들이 그러한 기능이나 사용 패턴에 대한 확신을 얻을 수 있도록 테스트와/또는 메트릭을 제출해 주세요.
시작하기
퀵 스타트 - 스탠드얼론 HBase
이 섹션은 단일 노드 스탠드얼론 HBase의 설정을 설명해요. 스탠드얼론 인스턴스는 모든 HBase 데몬 — Master, RegionServers, ZooKeeper — 이 로컬 파일시스템에 영속화하는 단일 JVM에서 실행돼요. 이것은 가장 기본적인 배포 프로필이에요. hbase shell CLI로 HBase에 테이블을 만들고, 행을 삽입하고, 테이블에 대한 put과 scan 연산을 수행하고, 테이블을 활성화/비활성화하고, HBase를 시작하고 중지하는 방법을 보여줄게요.
HBase 다운로드를 제외하면 이 절차는 10분 미만이 걸려야 해요.
JDK 버전 요구 사항
HBase는 JDK가 설치되어 있어야 해요. 지원되는 JDK 버전에 대한 정보는 Java를 참고하세요.
HBase 시작하기
절차: 스탠드얼론 모드에서 HBase 다운로드, 구성, 시작
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 설치 경로로 설정하세요.
JAVA_HOME이 설정된 hbase-env.sh의 예시 추출*
# Set environment variables here.
# The java implementation to use.
export JAVA_HOME=/usr/jdk64/jdk1.8.0_112
bin/start-hbase.sh 스크립트는 HBase를 시작하는 편리한 방법으로 제공돼요. 명령을 내리면, 모든 것이 잘 된다면 HBase가 성공적으로 시작됐음을 보여주는 메시지가 표준 출력에 기록돼요. jps 명령으로 HMaster라는 하나의 실행 중인 프로세스가 있는지 확인할 수 있어요. 스탠드얼론 모드에서 HBase는 이 단일 JVM 안에서 모든 데몬, 즉 HMaster, 단일 HRegionServer, ZooKeeper 데몬을 실행해요. HBase Web UI를 보려면 *http://localhost:16010*으로 가세요.
절차: 처음으로 HBase 사용하기
HBase에 연결
HBase 설치의 bin/ 디렉터리에 있는 hbase shell 명령으로 실행 중인 HBase 인스턴스에 연결하세요. 이 예시에서는 HBase Shell을 시작할 때 인쇄되는 일부 사용 정보와 버전 정보를 생략했어요. HBase 셸 프롬프트는 > 문자로 끝나요.
$ ./bin/hbase shell
hbase(main):001:0>
HBase 셸 도움말 텍스트 표시
help를 입력하고 Enter를 눌러 HBase Shell의 기본 사용 정보와 몇 가지 예시 명령을 표시하세요. 테이블 이름, 행, 열이 모두 작은따옴표 문자로 묶여야 한다는 점에 주목하세요.
이 문서는 Apache HBase 레퍼런스 가이드 전체를 한 페이지로 합친 문서로, 머리말과 시작하기 부분으로 시작해 이후 전체 주제(데이터 모델, 구축, 최적화, 디버깅, 보안, 운영 등)로 이어집니다. 개별 주제에 대한 상세 한국어 번역 문서는 각 섹션 문서(예: 스키마 설계, 성능 튜닝, 보안, 문제 해결 등)를 참고하세요.