--- title: "Kudu 사용" slug: "hadoop-vpc-31" tags: ["Cloud Hadoop", "VPC"] updated: 2026-09-17T09:07:23Z published: 2026-09-17T09:07:23Z canonical: "guide.ncloud-docs.com/hadoop-vpc-31" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Kudu 사용 VPC 환경에서 이용 가능합니다. [Kudu](https://kudu.apache.org/)는 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 | - Impala가 Kudu에서 테이블 생성·변경·삭제 오퍼레이션 지원 - Impala에서 다른 테이블과 동일한 Internal/External 접근법을 따라 유연한 데이터 처리·쿼리 가능 | | INSERT | Impala가 HDFS, HBase와 동일한 메커니즘으로 Kudu에 데이터 Insert 작업 수행 | | UPDATE/DELETE | - Impala가 Kudu 테이블 데이터에 Row 단위 또는 배치 방식의 UPDATE·DELETE SQL 명령어 지원 - 쿼리의 FROM 절에 복잡한 조인절 지정 가능 | | Flexible Partitioning | Hive의 테이블 파티셔닝 개념과 유사하게 클러스터 전역에 쓰기·쿼리 작업이 균등 분산되도록 Kudu가 테이블을 해시나 범위 기반으로 사전 정의된 Tablet 개수만큼 동적 분할 | | Parallel Scan | 범용 하드웨어에서 최적 성능을 위해 Impala에서 사용하는 Kudu 클라이언트가 다중 Tablet에서 스캔을 병렬 처리 | ## Kudu 아키텍처 Kudu 서비스를 구성하는 컴포넌트는 크게 네 가지로 Table, Tablet, Tablet Server, Master Server가 있습니다. | 컴포넌트 | 설명 | | --- | --- | | Table | - Kudu의 데이터가 저장되는 장소로, 스키마와 Primary key를 가짐 - 하나의 Table은 Primary key에 의해 Tablet이라는 세그먼트로 분할되어 저장됨 | | Tablet | - 관계형 데이터베이스의 파티션과 유사한 단일 테이블의 분할 - 하나의 Tablet은 다중 Tablet Server에 복제되며, 복제본 중 하나가 Raft Consensus Algorithm을 통해 Leader Tablet으로 선출됨 - 모든 복제본에서 데이터 Read 서비스를 제공할 수 있으며, Write 작업은 Tablet Server 그룹 간 합의를 통해 수행됨 | | Tablet Server | - Tablet을 저장하고 클라이언트에게 Tablet을 제공하는 역할 담당 - 복제본 중 특정 Tablet은 Leader의 역할을, 나머지는 Follower의 역할을 수행 | | Master Server | - 모든 Tablet, Tablet Server, Catalog Table 및 클러스터와 관련된 다른 메타데이터 정보를 추적하고 관리 - 특정 시점에는 단일 마스터가 Leader 역할을 수행하며, 현재 Leader에 문제가 발생한 경우 Raft Consensus 알고리즘을 사용해 신규 마스터가 등록됨 - 클라이언트에 대한 메타데이터 오퍼레이션을 조정하는 역할도 담당 - 클라이언트는 Client API를 사용하여 마스터를 통해 카탈로그 테이블에 접속 가능 | ![chadoop-31-001](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/chadoop-31-001.png?sv=2026-02-06&spr=https&st=2026-11-13T19%3A54%3A35Z&se=2026-11-13T20%3A54%3A35Z&sr=c&sp=r&sig=XJmup3HJo7ukELnP5UFfbQMH1hBzMzVhInN3r5eflUA%3D) ## 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 ``` **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 서비스를 확인할 수 있습니다. 이 페이지에서 서비스의 각 컴포넌트를 시작, 중지할 수 있습니다. ![chadoop-31-002](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/chadoop-31-002.png?sv=2026-02-06&spr=https&st=2026-11-13T19%3A54%3A35Z&se=2026-11-13T20%3A54%3A35Z&sr=c&sp=r&sig=XJmup3HJo7ukELnP5UFfbQMH1hBzMzVhInN3r5eflUA%3D) - Summary: 컴포넌트가 설치된 호스트 확인 - Configs: Kudu 서비스의 configuration 변경 - Quick Links: Kudu Master WEB-UI, Kudu Tserver WEB-UI - 이 링크를 통해서 접속하려면 [터널링](/docs/hadoop-vpc-6)이 필요합니다. 콘솔에서 제공하는 Web UI 링크를 이용한 접속을 권장합니다. 자세한 내용은 [터널링을 이용한 Web UI 접속](/docs/hadoop-vpc-6) 가이드를 참조해 주십시오.