VPC 환경에서 이용 가능합니다.
Kudu는 Hadoop 플랫폼 환경에서 사용하는 칼럼 기반의 스토리지입니다. Kudu는 Hadoop 에코 시스템에 맞게 특수 설계되어 Spark, MapReduce 및 기타 Hadoop 에코 프로젝트에서 자체적으로 데이터를 처리 및 분석가능합니다. 일반 DBMS처럼 Primary key를 제공하여 밀리초(ms) 수준의 랜덤 액세스가 가능하며 동시에 대규모 순차 읽기에도 최적화되어 있어, HBase와 Parquet 사이의 간극을 메워줄 수 있습니다. 또한 OLAP 성격의 질의와 OLTP 성격의 질의를 모두 지원하기 때문에 Kudu를 사용하면 빅데이터 분석 시스템의 구조를 단순하게 만들 수 있습니다.
Kudu – Impala Integration 특징
Kudu가 제공하는 API는 단순한 CRUD 연산입니다. 데이터를 조회할 때 원하는 필터 조건을 입력할 수 있지만 단순한 데이터 조회 기능만 제공하기 때문에 GROUP BY나 JOIN 등을 사용하는 복잡한 질의를 실행하려면 별도의 질의 처리 엔진이 있어야 합니다. 이때 일반적으로 Impala를 Kudu와 함께 사용해 복잡한 질의를 처리하게 할 수 있습니다.
| 기능 | 설명 |
|---|---|
| CREATE/ALTER/DROP TABLE |
|
| INSERT | Impala가 HDFS, HBase와 동일한 메커니즘으로 Kudu에 데이터 Insert 작업 수행 |
| UPDATE/DELETE |
|
| Flexible Partitioning | Hive의 테이블 파티셔닝 개념과 유사하게 클러스터 전역에 쓰기·쿼리 작업이 균등 분산되도록 Kudu가 테이블을 해시나 범위 기반으로 사전 정의된 Tablet 개수만큼 동적 분할 |
| Parallel Scan | 범용 하드웨어에서 최적 성능을 위해 Impala에서 사용하는 Kudu 클라이언트가 다중 Tablet에서 스캔을 병렬 처리 |
Kudu 아키텍처
Kudu 서비스를 구성하는 컴포넌트는 크게 네 가지로 Table, Tablet, Tablet Server, Master Server가 있습니다.
| 컴포넌트 | 설명 |
|---|---|
| Table |
|
| Tablet |
|
| Tablet Server |
|
| Master Server |
|

Kudu 사용
Kudu를 사용하는 방법을 설명합니다.
Ambari UI에서 Kudu 서비스 설치
Ambari UI에서 Add service로 Kudu를 설치할 수 있습니다. 설치 시 작성할 옵션은 다음과 같습니다.
Advanced kudu-master-env
kudu_master_hosts = KUDU_마스터_설치_FQDN
kudu_master_webserver_port = 8011
Advanced kudu-site
kudu_builtin_ntp_servers = 169.254.169.123,169.254.169.124 0.0.0.0
Advanced kudu-tserver-env
kudu_tserver_master_address = KUDU_태블릿_설치_FQDN:7051
kudu_tserver_webserver_port = 8012
Custom kudu-tserver-env
kudu_tserver_hosts = KUDU_태블릿_설치_FQDN
Ambari UI에서 Kudu 서비스 확인
다음과 같이 Kudu 서비스를 확인할 수 있습니다. 이 페이지에서 서비스의 각 컴포넌트를 시작, 중지할 수 있습니다.

- Summary: 컴포넌트가 설치된 호스트 확인
- Configs: Kudu 서비스의 configuration 변경