이 페이지에서는 Cloud Data Fusion 인스턴스에서 사용하는 Dataproc 이미지 버전을 변경하는 방법을 설명합니다. 인스턴스, 네임스페이스 또는 파이프라인 수준에서 이미지를 변경할 수 있습니다.
시작하기 전에
Cloud Data Fusion 인스턴스에서 모든 실시간 파이프라인 및 복제 작업을 중지합니다. Dataproc 이미지 버전을 변경할 때 실시간 파이프라인이나 복제가 실행 중이면 변경사항은 파이프라인 실행에 적용되지 않습니다.
실시간 파이프라인의 경우 체크포인트를 사용 설정하면 파이프라인을 중지해도 데이터는 손실되지 않습니다. 복제 작업 역시 데이터베이스 로그를 사용할 수 있는 한 복제 작업을 중지했다가 시작해도 데이터가 손실되지 않습니다.
콘솔
Cloud Data Fusion 인스턴스 페이지로 이동하여 파이프라인을 중지해야 하는 인스턴스를 엽니다.
Pipeline Studio에서 각 실시간 파이프라인을 열고 중지를 클릭합니다.
복제 페이지에서 각 복제 작업을 열고 중지를 클릭합니다.
REST API
모든 파이프라인을 검색하려면 다음 REST API 호출을 사용합니다.
GET -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps"
NAMESPACE_ID
를 네임스페이스의 이름으로 바꿉니다.실시간 파이프라인을 중지하려면 다음 REST API 호출을 사용합니다.
POST -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/PIPELINE_NAME/spark/DataStreamsSparkStreaming/stop"
NAMESPACE_ID를 네임스페이스 이름으로 바꾸고 PIPELINE_NAME을 실시간 파이프라인 이름으로 바꿉니다.
복제 작업을 중지하려면 다음 REST API 호출을 사용합니다.
POST -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/REPLICATION_JOB_NAME/workers/DeltaWorker/stop"
NAMESPACE_ID를 네임스페이스 이름으로 바꾸고 REPLICATION_JOB_NAME을 복제 작업 이름으로 바꿉니다.
자세한 내용은 실시간 파이프라인 중지 및 복제 작업 중지를 참조하세요.
Cloud Data Fusion에서 Dataproc 기본 버전을 확인하고 재정의하기
시스템 관리자 > 구성 > 시스템 환경설정을 클릭합니다.
시스템 환경설정에 Dataproc 이미지가 지정되지 않았거나 환경설정을 변경하려면 시스템 환경설정 수정을 클릭합니다.
키 필드에 다음 텍스트를 입력합니다.
system.profile.properties.imageVersion
값 필드에 선택한 Dataproc 이미지를 입력합니다(예:
2.1
).Save & Close(저장 후 닫기)를 클릭합니다.
이 변경사항은 인스턴스의 네임스페이스, 파이프라인 또는 런타임 인수에서 이미지 버전 속성을 재정의하지 않는 한 모든 네임스페이스 및 파이프라인 실행을 포함한 전체 Cloud Data Fusion 인스턴스에 영향을 줍니다.
Dataproc 이미지 버전 변경
Cloud Data Fusion 웹 인터페이스의 컴퓨팅 구성, 네임스페이스 환경설정 또는 파이프라인 런타임 인수에서 이미지 버전을 설정할 수 있습니다.
네임스페이스 환경설정에서 이미지 변경
네임스페이스 속성에서 이미지 버전을 재정의한 경우 다음 단계를 따르세요.
시스템 관리자 > 구성 > 네임스페이스를 클릭합니다.
각 네임스페이스를 열고 환경설정을 클릭합니다.
잘못된 이미지 버전 값이 있는
system.profile.properties.imageVersion
키를 사용하여 재정의하지 않도록 합니다.마침을 클릭합니다.
시스템 컴퓨팅 프로필에서 이미지 변경
시스템 관리자> 구성을 클릭합니다.
시스템 컴퓨팅 프로필 > 새 프로필 만들기를 클릭합니다.
Dataproc 프로비저닝 도구를 선택합니다.
Dataproc의 프로필을 만듭니다. 이미지 버전 필드에 Dataproc 이미지 버전을 입력합니다.
파이프라인을 실행하는 동안 스튜디오 페이지에서 이 컴퓨팅 프로필을 선택합니다. 파이프라인 실행 페이지에서 구성 > 컴퓨팅 구성을 클릭하고 이 프로필을 선택합니다.
Dataproc 프로필을 선택하고 저장을 클릭합니다.
마침을 클릭합니다.
파이프라인 런타임 인수에서 이미지 변경
파이프라인의 런타임 인수에서 속성으로 이미지 버전을 재정의한 경우에는 다음 단계를 수행합니다.
메뉴 메뉴 > 목록을 클릭합니다.
목록 페이지에서 업데이트할 파이프라인을 선택합니다.
스튜디오 페이지에서 파이프라인이 열립니다.
실행 옵션을 펼치기 위해
펼치기 화살표를 클릭합니다.런타임 인수 창이 열립니다.
잘못된 이미지 버전을 값으로 사용한
system.profile.properties.imageVersion
키로 재정의되지 않았는지 확인합니다.저장을 클릭합니다.
Cloud Data Fusion에서 사용하는 정적 Dataproc 클러스터를 선택한 이미지 버전으로 다시 만들기
기존 Dataproc 클러스터를 Cloud Data Fusion과 함께 사용하는 경우 Dataproc 가이드에 따라 Cloud Data Fusion 버전에 대해 선택한 Dataproc 이미지 버전으로 클러스터를 다시 만듭니다.
또는 선택한 Dataproc 이미지 버전으로 새 Dataproc 클러스터를 만들고 같은 컴퓨팅 프로필 이름과 업데이트된 Dataproc 클러스터 이름으로 Cloud Data Fusion에서 컴퓨팅 프로필을 삭제하고 다시 만들 수 있습니다. 이러한 방식으로 일괄 파이프라인을 실행하면 기존 클러스터에서 실행이 완료될 수 있으며 후속 파이프라인 실행은 새 Dataproc 클러스터에서 수행됩니다. 모든 파이프라인 실행이 완료된 것을 확인한 후 이전 Dataproc 클러스터를 삭제할 수 있습니다.
Dataproc 이미지 버전이 업데이트되었는지 확인
콘솔
Google Cloud Console에서 Dataproc 클러스터 페이지로 이동합니다.
새 버전을 지정할 때 Cloud Data Fusion이 만든 새 클러스터의 클러스터 세부정보 페이지를 엽니다.
이미지 버전 필드에는 Cloud Data Fusion에서 지정한 새 값이 있습니다.
REST API
메타데이터와 함께 클러스터 목록을 가져옵니다.
GET -H "Authorization: Bearer ${AUTH_TOKEN}" \ https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION_ID/clusters
다음을 바꿉니다.
PROJECT_ID
를 네임스페이스 이름으로 바꿉니다.REGION_ID
를 클러스터가 있는 리전 이름으로 바꿉니다.
파이프라인 이름(클러스터 이름)을 검색합니다.
해당 JSON 객체 아래에서
config > softwareConfig > imageVersion
에 있는 이미지를 확인합니다.
Dataproc 이미지를 버전 2.2 또는 2.1로 변경
Cloud Data Fusion 버전 6.9.1 이상은 Java 11에서 실행되는 Dataproc 이미지 2.1 Compute Engine을 지원합니다. 버전 6.10.0 이상에서는 이미지 2.1이 기본값입니다.
이전 이미지에서 이미지 2.2 또는 2.1로 변경하는 경우 일괄 파이프라인과 복제 작업이 성공하려면 데이터베이스 플러그인이 해당 인스턴스에서 사용하는 JDBC 드라이버가 Java 11과 호환되어야 합니다.
Dataproc 이미지 2.2 및 2.1은 Cloud Data Fusion에서 다음과 같은 제한사항이 적용됩니다.
- 맵리듀스 작업은 지원되지 않습니다.
- 인스턴스의 데이터베이스 플러그인에서 사용되는 JDBC 드라이버 버전은 Java 11을 지원하도록 업데이트해야 합니다. Dataproc 2.2, 2.1, Java 11에서 작동하는 드라이버 버전은 다음 표를 참조하세요.
JDBC 드라이버 | Cloud Data Fusion 6.9.1에서 삭제된 이전 버전 | Dataproc 2.2, 2.1 또는 2.0에서 작동하는 Java 8 및 Java 11 지원 버전 |
---|---|---|
MySQL용 Cloud SQL JDBC 드라이버 | - | 1.0.16 |
PostgreSQL용 Cloud SQL JDBC 드라이버 | - | 1.0.16 |
Microsoft SQL Server JDBC 드라이버 | Microsoft JDBC 드라이버 6.0 | Microsoft JDBC 드라이버 9.4 |
MySQL JDBC 드라이버 | 5.0.8, 5.1.39 | 8.0.25 |
PostgreSQL JDBC 드라이버 | 9.4.1211.jre7, 9.4.1211.jre8 | 42.6.0.jre8 |
Oracle JDBC 드라이버 | ojdbc7 | ojdbc8(12c 이상) |
Dataproc 2.2 또는 2.1 사용 시 메모리 사용량
Dataproc 2.2 또는 2.1 클러스터를 사용하는 파이프라인에서 메모리 사용량이 증가할 수 있습니다. 인스턴스를 버전 6.10 이상으로 업그레이드하고 이전 파이프라인이 메모리 문제로 인해 실패하는 경우 파이프라인의 Resources
구성에서 드라이버 및 실행자 메모리를 2048MB로 늘립니다.
또는 system.profile.properties.imageVersion
런타임 인수를 2.0-debian10
으로 설정하여 Dataproc 버전을 재정의할 수 있습니다.