Kudu 사용
    • PDF

    Kudu 사용

    • PDF

    Article Summary

    VPC 환경에서 이용 가능합니다.

    Kudu는 하둡 플랫폼 환경에서 사용하는 칼럼 기반의 스토리지입니다. Kudu는 하둡 에코 시스템에 맞게 특수 설계되어 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는 테이블을 해쉬나 범위 기반으로 사전에 정의된 태블릿 개수만큼 동적으로 분할합니다.
    • Parallel Scan: 범용 하드웨어에서 최적의 성능을 달성하기 위해서, Impala에서 사용한 Kudu 클라이언트는 다중 태블릿에서 스캔을 병렬처리 합니다.

    Kudu 아키텍처

    Kudu 서비스를 구성하는 컴포넌트는 크게 네 가지로 Table, Tablet, Tablet Server, Master Server가 있습니다.

    • Table
      Table은 Kudu의 데이터가 저장되는 장소로, 스키마와 Primary Key를 가지고 있습니다. 하나의 Table은 Primary Key에 의해 Tablet이라는 세그먼트로 분할되어 저장됩니다.

    • Tablet
      Tablet은 관계형 데이터베이스의 파티션과 유사한 단일 테이블의 분할입니다. 하나의 Tablet은 다중 Tablet Server에 복제되며, 복제본 중 하나가 Raft Consensus Algorithm을 통해 Leader Tablet으로 선출됩니다. 모든 복제본에서 데이터 Read 서비스를 제공할 수 있으며, Write 작업은 Tablet Server 그룹 간 합의를 통해 수행됩니다.

    • Tablet Server
      Tablet Server는 Tablet을 저장하고 클라이언트에게 Tablet을 제공하는 역할을 담당합니다. 복제본 중 특정 Tablet은 Leader의 역할을, 나머지는 Follower의 역할을 수행합니다.

    • Master Server
      마스터 서버는 모든 Tablet, Tablet Server, Catalog Table 및 클러스터와 관련된 다른 메타데이터 정보를 추적하고 관리합니다. 특정 시점에는 단일 마스터가 Leader 역할을 수행하며, 현재 Leader에 문제가 발생한 경우 Raft Consensus 알고리즘을 사용해 신규 마스터가 등록됩니다. 마스터는 클라이언트에 대한 메타데이터 오퍼레이션을 조정하는 역할도 담당합니다. 클라이언트는 Clinent API를 사용하여 마스터를 통해 카탈로그 테이블에 접속할 수 있습니다.

    chadoop-31-001.jpg

    Kudu 사용

    Kudu를 사용하는 방법을 설명합니다.

    클러스터 생성

    네이버 클라우드 플랫폼 콘솔에서 Cloud Hadoop 클러스터를 생성해 주십시오. 클러스터 생성에 대한 자세한 내용은 클러스터 생성을 참고해 주십시오.

    참고

    Cloud Hadoop 1.9부터 Kudu v1.16.0가 설치된 클러스터를 사용할 수 있습니다.
    chadoop-30-002_ko.jpg

    Ambari UI에서 Kudu 서비스 확인

    Ambari UI에서 다음과 같이 Kudu 서비스를 확인할 수 있습니다. 이 페이지에서 서비스의 각 컴포넌트를 시작, 중지할 수 있습니다.

    chadoop-31-002.jpg

    • Summary: 컴포넌트가 설치된 호스트 확인
    • Configs: Kudu 서비스의 configuration 변경
    • Quick Links: Kudu Master WEB-UI, Kudu Tserver WEB-UI
      • 이 링크를 통해서 접속하려면 터널링이 필요합니다. 콘솔에서 제공하는 Web UI 링크를 이용한 접속을 권장합니다. 자세한 내용은 Kudu WEB UI 접속을 참고해 주십시오.

    Kudu WEB UI 접속

    Cloud Hadoop 콘솔에서 [Application 별 보기] 를 통해 Kudu WEB UI에 접속할 수 있습니다. 자세한 내용은 Application 별 보기를 참고해 주십시오.
    chadoop-31-003_ko.jpg

    Kudu WEB UI 페이지에서 Kudu 서비스에 대한 전체적인 상태를 알 수 있습니다.
    chadoop-31-004.jpg


    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.