Dataproc 또는 자체 관리형 클러스터 연결

Dataproc Metastore 서비스를 만든 후에는 서비스를 Hive 메타스토어로 사용하는 Dataproc 클러스터를 만들고 연결할 수 있습니다.

클라이언트 구성을 수정하여 Dataproc Metastore 서비스를 Hive 메타스토어로 사용하는 자체 관리형 Apache Hive/Apache Spark/Presto 클러스터를 연결할 수도 있습니다.

시작하기 전에

  • 최적의 네트워크 연결을 위해 Dataproc Metastore 서비스와 동일한 리전에 Dataproc 클러스터를 만들어야 합니다.

  • Dataproc 이미지 및 Dataproc Metastore Hive 버전이 호환되어야 합니다.

    • Dataproc 2.x 이미지에는 Hive 3.1.2로 만든 Dataproc Metastore 서비스가 필요합니다.

    • Dataproc 1.x 이미지에는 Hive 2.3.6 또는 3.1.2로 만든 Dataproc Metastore 서비스가 필요하지만 2.3.6을 사용하여 만든 경우에 최적의 상태로 작동합니다.

    Dataproc 이미지 버전에 대한 자세한 내용과 Dataproc 이미지에서 사용되는 Hive 버전을 확인하려면 Dataproc 버전 관리를 참조하세요.

  • 프로젝트 간 배포를 진행할 경우 Dataproc Metastore 클러스터를 만들기 전에 추가 권한을 설정해야 합니다. 프로젝트 간 배포는 클러스터 프로젝트의 Dataproc 클러스터, 메타스토어 프로젝트의 Dataproc Metastore, 이전 두 프로젝트 또는 자체 네트워크 프로젝트 내 네트워크를 포함하여 2~3개의 프로젝트로 구성될 수 있습니다. 또한 네트워크가 고유 네트워크 프로젝트 내에 있는 동안 Dataproc 클러스터 및 Dataproc Metastore 서비스가 프로젝트를 공유할 수 있습니다.

    다음 다이어그램은 Dataproc Metastore 클러스터를 배포할 때 가능한 프로젝트 구성에 대한 개요를 제공합니다.

    Dataproc Metastore 및 Dataproc 클러스터를 배포할 때 사용 가능한 프로젝트 구성 개요

    • 서비스와 다른 프로젝트에 속하는 VPC 네트워크를 사용하는 경우 gcloud metastore services create SERVICE를 사용하려면 전체 상대 리소스 이름을 제공해야 합니다.

      gcloud metastore services create SERVICE \
          --network=projects/HOST_PROJECT/global/networks/NETWORK_ID
      
  • Dataproc 클러스터와 동일한 프로젝트의 서비스를 포함하여 Dataproc Metastore 서비스를 사용하려면 클러스터와 메타스토어가 동일한 네트워크에 있어야 합니다.

    • 피어링된 네트워크 전체의 모든 Dataproc 클러스터에 Dataproc Metastore 서비스를 연결할 수 있습니다. 이렇게 하려면 gcloud dataproc clusters create CLUSTER_NAME을 사용할 때 다음 Hive 속성 구성 설정을 제공해야 합니다.

      gcloud dataproc clusters create CLUSTER_NAME \
          --properties="hive:hive.metastore.uris=$ENDPOINT_URI,hive:hive.metastore.warehouse.dir=$WAREHOUSE_DIR/hive-warehouse"
      

      Dataproc Metastore 서비스를 사용하는 자체 관리형 클러스터 연결을 참조하세요.

    • 클러스터는 메타스토어 네트워크의 서브넷을 사용할 수도 있습니다. 네트워크 프로젝트에서 네트워크 또는 서브네트워크를 사용하여 클러스터를 만들려면 공유 네트워크 권한을 구성해야 합니다.

Dataproc Metastore 서비스를 사용하는 Dataproc 클러스터 연결

서비스를 만든 후에는 Google Cloud Console, gcloud 도구 또는 Dataproc API를 사용하여 서비스를 Hive 메타스토어로 사용하는 Dataproc 클러스터를 만들고 연결할 수 있습니다.

프로젝트 간 배포 설정

Dataproc 클러스터와 Dataproc Metastore 서비스가 별도의 프로젝트에 위치하는 경우의 프로젝트 간 배포에는 권한 설정이 필요합니다. 네트워크가 고유 네트워크 프로젝트에 있는 동안 Dataproc 클러스터 및 Dataproc Metastore 서비스가 프로젝트를 공유하는 경우에는 이 설정을 수행할 필요가 없습니다.

네트워크 권한을 구성한 후에는 메타스토어 프로젝트의 Dataproc Metastore 뷰어 역할을 클러스터 프로젝트의 Dataproc 서비스 에이전트에 부여해야 합니다. Dataproc 서비스 에이전트 계정은 service-<cluster-project-number>@dataproc-accounts.iam.gserviceaccount.com 형식입니다. 클러스터 프로젝트의 프로젝트 번호를 참조해야 합니다.

Console

프로젝트 번호를 찾으려면 다음 안내를 따르세요.

  1. IAM 및 관리자 설정으로 이동합니다.

  2. 페이지 상단의 프로젝트 목록에서 Dataproc 클러스터를 만드는 데 사용할 프로젝트를 선택합니다.

  3. 프로젝트 번호를 기록합니다.

다음 권한을 구성합니다.

  1. IAM으로 이동합니다.

  2. 페이지 상단의 프로젝트 목록에서 메타스토어 프로젝트를 선택합니다.

  3. Add(추가)를 클릭합니다.

    1. 새 구성원 필드에 서비스 계정을 입력합니다.

    2. 역할 메뉴에서 Dataproc Metastore > Dataproc Metastore 뷰어를 선택합니다.

    3. Add(추가)를 클릭합니다.

이제 메타스토어 프로젝트의 Dataproc Metastore 서비스와 서비스가 사용되는 네트워크 또는 서브네트워크를 사용하여 Dataproc 클러스터를 만들 수 있습니다.

Dataproc 클러스터 만들기

다음 안내에서는 Google Cloud Console, gcloud 도구 또는 Dataproc Metastore API를 사용하여 Dataproc 클러스터를 만들고 연결하는 방법을 보여줍니다.

Console

  1. Cloud Console에서 Dataproc 클러스터 만들기 페이지를 엽니다.

    Cloud Console에서 클러스터 만들기 페이지를 엽니다.

  2. 클러스터 이름 필드를 입력합니다.

  3. 리전영역 메뉴에서 클러스터의 리전과 영역을 선택합니다. 고유 리전을 선택하여 지정된 리전 내에서 리소스와 메타데이터 스토리지 위치를 분리할 수 있습니다. 고유 리전을 선택한 경우 영역에 대해 '선호 항목 없음'을 선택하여 Dataproc이 클러스터에 선택된 리전 내에서 영역을 선택하도록 할 수 있습니다(Dataproc 자동 영역 배치 참조).

  4. 클러스터 맞춤설정 탭을 클릭합니다.

  5. 네트워크 구성 섹션에서 메타스토어 서비스 생성 중에 지정된 동일한 네트워크를 선택합니다.

  6. Dataproc Metastore 섹션에서 메타스토어 서비스를 선택합니다. 아직 서비스를 만들지 않은 경우 새 서비스 만들기를 선택합니다.

  7. 만들기를 클릭하여 클러스터를 만듭니다.

새 클러스터가 클러스터 목록에 표시됩니다. 클러스터 상태는 클러스터를 사용할 준비가 될 때까지 '프로비저닝'으로 표시되고 이후 '실행 중'으로 변경됩니다.

gcloud

다음 gcloud dataproc clusters create 명령어를 사용하여 클러스터를 만듭니다.

 gcloud dataproc clusters create CLUSTER_NAME \
    --dataproc-metastore=projects/PROJECT_ID/locations/LOCATION/services/SERVICE \
    --region=LOCATION
 

CLUSTER_NAME을 새 클러스터 이름으로 바꿉니다.

PROJECT_ID를 Dataproc Metastore 서비스를 만든 프로젝트 ID로 바꿉니다.

LOCATION을 Dataproc Metastore 서비스에 대해 위에서 지정한 동일 리전으로 바꿉니다.

SERVICE를 Dataproc Metastore 서비스 이름으로 바꿉니다.

REST

API 안내에 따라 API 탐색기를 사용하여 클러스터를 만듭니다.

Dataproc Metastore 서비스를 사용하는 자체 관리형 클러스터 연결

서비스를 만든 후 클라이언트 구성에서 다음을 설정하여 서비스를 Hive Metastore로 사용하는 자체 관리형 Apache Hive, Apache Spark, Presto 클러스터를 연결할 수도 있습니다.

hive.metastore.uris=ENDPOINT_URI
hive.metastore.warehouse.dir=WAREHOUSE_DIR

다음을 바꿉니다.

  • ENDPOINT_URI: 메타스토어 서비스 액세스에 사용되는 Hive 메타스토어 엔드포인트 URI입니다.

    사용할 엔드포인트 URI 값을 찾으려면 Dataproc Metastore 페이지에서 서비스 이름을 클릭합니다. 그러면 해당 서비스의 서비스 세부정보 페이지가 표시되어, thrift://로 시작하는 URL 값을 사용할 수 있습니다.

  • WAREHOUSE_DIR: Hive 메타스토어 구성 재정의 디렉터리입니다. gs://.*hive-warehouse 양식을 따를 수 있습니다.

    사용할 웨어하우스 디렉터리를 찾으려면 Dataproc Metastore 페이지에서 서비스 이름을 클릭합니다. 그러면 해당 서비스의 서비스 세부정보 페이지가 표시되어, Metastore 구성 재정의 아래에서 hive.metastore.warehouse.dir 값을 사용할 수 있습니다.

서비스 세부정보 URL 및 hive.metastore.warehouse.dir 값

다음 단계