자체 관리형 MySQL 메타스토어를 Dataproc Metastore로 마이그레이션

이 페이지에서는 MySQL 덤프 파일을 만들고 메타데이터를 기존 Dataproc Metastore 서비스로 가져와 외부 자체 관리형 MySQL 메타스토어를 Dataproc Metastore로 마이그레이션하는 방법을 보여줍니다.

시작하기 전에

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  4. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  5. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  6. Dataproc Metastore API 사용 설정

    API 사용 설정

필요한 역할

Dataproc Metastore를 만들고 MYSQL Metastore를 가져오는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

  • 서비스를 만들고 메타데이터를 가져오기 위한 역할:
  • 가져오기에 Cloud Storage 객체(SQL 덤프 파일)를 사용하기 위한 역할:
    • Dataproc Metastore 서비스 에이전트의 스토리지 객체 뷰어(roles/storage.objectViewer). 예를 들면 service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com입니다.
    • 사용자 계정에 대한 스토리지 객체 뷰어(roles/storage.objectViewer)

역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

이러한 사전 정의된 역할에는 Dataproc Metastore를 만들고 MYSQL Metastore를 가져오는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 확장하세요.

필수 권한

Dataproc Metastore를 만들고 MYSQL 메타스토어를 가져오려면 다음 권한이 필요합니다.

  • 서비스 만들기: 프로젝트에 대한 metastore.services.create
  • 메타데이터 가져오기: 프로젝트에 대한 metastore.imports.create
  • 가져오기에 Cloud Storage 객체(SQL 덤프 파일)를 사용하기:
    • Dataproc Metastore 서비스 에이전트에 대한 storage.objects.get. 예를 들면 service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com입니다.
    • 사용자 계정에 대한 storage.objects.get

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

특정 Dataproc Metastore 역할 및 권한에 대한 상세 설명은 IAM으로 Dataproc 액세스 관리를 참조하세요.

Dataproc Metastore 서비스 만들기

다음 안내에서는 SQL 덤프 파일을 마이그레이션할 수 있는 Dataproc Metastore 서비스를 만드는 방법을 설명합니다.

Console

  1. Google Cloud 콘솔에서 서비스 만들기 페이지를 엽니다.

    서비스 만들기로 이동

    서비스 만들기 페이지
    Dataproc MetastoreThe 서비스 만들기 페이지
  2. 서비스 이름 필드에 example-service를 입력합니다.

  3. 데이터 위치를 선택합니다. 리전 선택에 대한 자세한 내용은 Cloud 위치를 참조하세요.

  4. 다른 서비스 구성 옵션에 제공된 기본값을 사용합니다.

  5. 서비스를 만들고 시작하려면 제출 버튼을 클릭합니다.

서비스 목록에 새 서비스가 나타납니다.

gcloud

다음 gcloud metastore services create 명령어를 실행하여 클러스터를 만듭니다.

 gcloud metastore services create example-service \
     --location=LOCATION
 

LOCATION을 서비스를 만들려는 Compute Engine 리전으로 바꿉니다. 리전에서 Dataproc Metastore를 사용할 수 있는지 확인합니다.

REST

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

마이그레이션 준비

이제 MySQL 덤프 파일을 만들고 Cloud Storage 버킷에 배치하여 가져올 Hive 메타스토어 데이터베이스에 저장된 메타데이터를 준비해야 합니다.

마이그레이션을 준비하는 단계는 가져오기 전에 가져오기 파일 준비를 참조하세요.

메타데이터 가져오기

이제 덤프 파일을 준비했으므로 Dataproc Metastore 서비스로 가져옵니다.

example-service 서비스로 메타데이터 가져오기 단계는 Dataproc Metastore로 파일 가져오기를 참조하세요.

Dataproc 클러스터 생성 및 연결

메타데이터를 Dataproc Metastore example-service 서비스로 가져온 후에는 이 서비스를 해당 Hive Metastore로 사용하는 Dataproc 클러스터를 만들고 연결합니다.

삭제

이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.

    리소스 관리로 이동

  2. 삭제하려는 프로젝트가 조직에 연결되어 있으면 이름 열에서 조직 목록을 확장합니다.
  3. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
  4. 대화상자에서 프로젝트 ID를 입력한 후 종료를 클릭하여 프로젝트를 삭제합니다.

또는 이 튜토리얼에서 사용된 리소스를 삭제할 수 있습니다.

  1. Dataproc Metastore 서비스를 삭제합니다.

    콘솔

    1. Google Cloud 콘솔에서 Dataproc Metastore 페이지를 엽니다.

      Google Cloud 콘솔에서 Dataproc Metastore 열기

    2. 서비스 이름 왼쪽의 체크박스를 선택하여 example-service를 선택합니다.

    3. Dataproc Metastore 페이지 상단에서 삭제를 클릭하여 서비스를 삭제합니다.

    4. 대화상자에서 삭제를 클릭하여 삭제를 확인합니다.

    서비스가 서비스 목록에 더 이상 표시되지 않습니다.

    gcloud

    다음 gcloud metastore services delete 명령어를 실행하여 서비스를 삭제합니다.

     gcloud metastore services delete example-service \
         --location=LOCATION

    LOCATION을 서비스가 생성된 Compute Engine 리전으로 바꿉니다.

    REST

    API 안내에 따라 API 탐색기를 사용하여 서비스를 삭제합니다.

    모든 삭제가 즉시 수행됩니다.

  2. Dataproc Metastore 서비스에 대해 Cloud Storage 버킷을 삭제합니다.

다음 단계