Dataproc Flink 구성요소

선택적 구성요소 기능을 사용하여 Dataproc 클러스터를 만들 때 추가 구성요소를 설치할 수 있습니다. 이 페이지에서는 Flink 구성요소에 대해 설명합니다.

Dataproc Flink 구성요소는 Dataproc 클러스터에 Apache Flink를 설치합니다.

구성요소 설치

Dataproc 클러스터를 만들 때 구성요소를 설치합니다. Dataproc Flink 구성요소는 Dataproc 이미지 버전 1.5 이상으로 생성된 클러스터에 설치할 수 있습니다.

각 Dataproc 이미지 출시에 포함된 구성요소 버전은 지원되는 Dataproc 버전을 참조하세요.

gcloud 명령어

Flink 구성요소를 포함하는 Dataproc 클러스터를 만들려면 --optional-components 플래그와 함께 gcloud dataproc clusters create cluster-name 명령어를 사용합니다.

gcloud dataproc clusters create cluster-name \
    --optional-components=FLINK \
    --region=region \
    --image-version=1.5 \
    --enable-component-gateway \
    ... other flags

참고: Flink YARN 세션에 상당한 YARN 리소스가 소비되기 때문에 기본적으로 Dataproc는 Dataproc 클러스터가 시작될 때 Flink 세션을 시작하지 않습니다. --metadata flink-start-yarn-session=true 플래그를 gcloud dataproc clusters create 명령어에 추가하여 Flink 클러스터를 시작할 때 세션을 시작할 수 있습니다.

REST API

Flink 구성요소는 SoftwareConfig.Componentclusters.create 요청에 사용하여 Dataproc API를 통해 지정할 수 있습니다.

Console

  1. 구성요소 및 구성요소 게이트웨이를 사용 설정합니다.
    • Cloud Console에서 Dataproc 클러스터 만들기 페이지를 엽니다. 클러스터 설정 패널이 선택되었습니다.
    • 구성요소 섹션에서 다음을 수행합니다.
      • 선택적 구성요소 아래에서 클러스터에 설치할 Flink 및 기타 선택적인 구성요소를 선택합니다.
      • 구성요소 게이트웨이 아래에서 구성요소 게이트웨이 사용 설정을 선택합니다(구성요소 게이트웨이 URL 보기 및 액세스 참조).

Flink를 사용하는 Dataproc 클러스터가 시작된 다음 Dataproc 마스터 노드로 SSH한 후 Flink 작업을 실행합니다.

예:

단일 Flink 작업을 실행합니다. 작업을 수락한 후 Flink가 YARN에 있는 작업에 대해 작업 관리자 및 슬롯을 시작합니다. Flink 작업이 완료될 때까지 YARN 클러스터에서 실행됩니다. 작업이 완료된 후 작업 관리자가 종료됩니다. 작업 로그는 YARN 로그에 제공됩니다.

flink run -m yarn-cluster /usr/lib/flink/examples/batch/WordCount.jar

예:

장기 실행 Flink YARN 세션을 시작한 후 작업을 실행합니다.

세션을 시작합니다. 참고: 또는 gcloud dataproc clusters create --metadata flink-start-yarn-session=true 플래그를 사용하여 Flink 클러스터를 만들 때 Flink YARN 세션을 시작할 수 있습니다.

. /usr/bin/flink-yarn-daemon

작업을 실행합니다.

HADOOP_CLASSPATH=`hadoop classpath` \
    flink run -m JOB_MANAGER_HOSTNAME:REST_API_PORT /usr/lib/flink/examples/batch/WordCount.jar

Apache Beam 작업 실행

Dataproc에서 FlinkRunner를 사용하여 Apache Beam을 실행할 수 있습니다.

Dataproc 마스터 노드에 SSH한 후 두 가지 방법으로 Flink에서 Beam 작업을 실행할 수 있습니다.

  1. 자바 Beam 작업
  2. 포터블 Beam 작업

자바 Beam 작업

Beam 작업을 jar 파일에 패키징한 후 작업을 실행합니다.

mvn package -Pflink-runner
bin/flink run -c org.apache.beam.examples.WordCount /path/to/your.jar \
    --runner=FlinkRunner \
    --other-parameters

포터블 Beam 작업

Python, Go, 기타 지원되는 언어로 Beam 작업을 실행하려면 다음 안내를 따르세요.

  1. PortableRunner를 사용합니다(이동성 프레임워크 로드맵 참조).

  2. 각 클러스터 노드에 Docker가 설치되도록 Docker 구성요소를 사용 설정하여 Dataproc 클러스터를 만들어야 합니다. 클러스터에 Docker 구성요소를 추가하려면 Flink 및 Docker 구성요소를 모두 설치하여 클러스터를 만듭니다.

    gcloud 예시:

    gcloud dataproc clusters create cluster-name \
        --optional-components=FLINK,DOCKER \
        --region=region \
        --image-version=1.5 \
        --enable-component-gateway \
        ... other flags
    

  3. apache_beam 또는 apache_beam[gcp]과 같이 필요한 Python 또는 기타 Beam에 필요한 라이브러리를 설치합니다. Flink 마스터 URL을 전달하거나 이를 생략하고 단일 작업을 실행할 수 있습니다.

    Python 예시:

    import apache_beam as beam
    from apache_beam.options.pipeline_options import PipelineOptions
    options = PipelineOptions([
        "--runner=FlinkRunner",
        "--flink_version=1.9",
        "--flink_master=localhost:8081",
        "--environment_type=DOCKER"
    ])
    with beam.Pipeline(options=options) as p:
    

Dataproc Flink 구성요소는 Kerberized 클러스터를 지원합니다. Flink 작업을 제출하고 유지하거나 Flink 클러스터를 시작하려면 유효한 Kerberos 티켓이 필요합니다. 기본적으로 티켓은 7일 동안 유효합니다.

Flink 작업 또는 Flink 세션 클러스터를 실행하는 동안 Flink 작업 관리자 웹 인터페이스를 사용할 수 있습니다. YARN에서 Flink 애플리케이션의 애플리케이션 마스터에서 Flink 작업 관리자 UI를 열 수 있습니다.

UI 액세스를 사용 설정하고 사용하려면 다음 안내를 따르세요.

  1. 구성요소 게이트웨이를 사용 설정하여 Dataproc 클러스터를 만듭니다.
  2. 클러스터를 만든 후 Google Cloud Console의 클러스터 세부정보 페이지에 있는 웹 인터페이스 탭에서 구성요소 게이트웨이 YARN ResourceManager 링크를 클릭합니다.
  3. YARN Resource Manager 페이지에서 Flink 클러스터 애플리케이션 항목을 확인하고 애플리케이션 마스터 링크를 클릭합니다.
  4. Flink 대시보드가 열립니다.