Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Dataproc-Flink-Komponente

Sie können zusätzliche Komponenten installieren, wenn Sie einen Dataproc-Cluster mit dem Feature Optionale Komponenten erstellen. Auf dieser Seite wird die Flink-Komponente erläutert.

Die Dataproc Flink-Komponente installiert Apache Flink auf einem Dataproc-Cluster.

Komponente installieren

Installieren Sie die Komponente, wenn Sie einen Dataproc-Cluster erstellen. Die Dataproc Flink-Komponente kann auf Clustern installiert werden, die mit Dataproc-Image Version 1.5 oder höher erstellt wurden.

Informationen zu den Komponentenversionen, die im jeweiligen Dataproc-Image-Release enthalten sind, finden Sie im Abschnitt Unterstützte Dataproc-Versionen.

gcloud-Befehl

Zum Erstellen eines Dataproc-Clusters, der die Flink-Komponente enthält, verwenden Sie den Befehl gcloud dataproc clusters create cluster-name mit dem Flag --optional-components.

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

Hinweis: Da eine Flink YARN-Sitzung wichtige YARN-Ressourcen verbraucht, startet Dataproc standardmäßig beim Start des Dataproc-Clusters keine Flink-Sitzung. Sie können eine Sitzung starten, wenn Sie den Flink-Cluster starten, indem Sie dem Befehl gcloud dataproc clusters create das Flag --metadata flink-start-yarn-session=true hinzufügen.

REST API

Die Flink-Komponente kann über die Dataproc API mit SoftwareConfig.Component als Teil einer clusters.create-Anfrage angegeben werden.

Console

  1. Aktivieren Sie die Komponente und das Komponentengateway.
    • Öffnen Sie in der Cloud Console die Dataproc-Seite Cluster erstellen. Der Bereich „Cluster einrichten“ ist ausgewählt.
    • Im Bereich „Komponenten“:
      • Wählen Sie unter „Optionale Komponenten“ Flink und andere optionale Komponenten aus, die auf Ihrem Cluster installiert werden sollen.
      • Wählen Sie unter Component Gateway „Component Gateway aktivieren“ aus (siehe Component Gateway-URLs ansehen und aufrufen).

Nachdem ein Dataproc-Cluster mit Flink gestartet wurde, stellen Sie eine SSH-Verbindung zum Dataproc-Hauptknoten her und führen Sie Flink-Jobs aus.

Beispiel:

Führen Sie einen einzelnen Flink-Job aus. Nachdem der Job angenommen wurde, startet Flink einen Jobmanager und die Slots für den Job in YARN. Der Flink-Job wird bis zum Abschluss im YARN-Cluster ausgeführt. Der Jobmanager wird nach Abschluss des Jobs heruntergefahren. Joblogs sind in YARN-Logs verfügbar.

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

Beispiel:

Starten Sie eine lange laufende Flink YARN-Sitzung und führen Sie dann einen Job aus.

Starten Sie die Sitzung. Hinweis: Sie können auch eine Flink YARN-Sitzung starten, wenn Sie den Flink-Cluster mit dem Flag gcloud dataproc clusters create --metadata flink-start-yarn-session=true erstellen.

. /usr/bin/flink-yarn-daemon

Führen Sie den Job aus:

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

Apache Beam-Jobs ausführen

Mit FlinkRunner können Sie Apache Beam-Jobs in Dataproc ausführen.

Nachdem Sie die SSH-Verbindung zum Dataproc-Hauptknoten hergestellt haben, können Sie Beam-Jobs auf Flink auf zwei Arten ausführen:

  1. Java Beam-Jobs
  2. Portierbare Beam-Jobs.

Java Beam-Jobs

Verpacken Sie Ihre Beam-Jobs in eine JAR-Datei und führen Sie dann den Job aus.

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

Portierbare Beam-Jobs

Zum Ausführen von Beam-Jobs, die in Python, Go oder anderen unterstützten Sprachen geschrieben sind,

  1. Verwenden Sie die PortableRunner (siehe Portability Framework Roadmap).

  2. Auf dem Dataproc-Cluster muss die Docker-Komponente aktiviert sein, auf der Docker auf jedem Clusterknoten installiert wird. Wenn Sie die Docker-Komponente zum Cluster hinzufügen möchten, erstellen Sie den Cluster, indem Sie sowohl die Flink- als auch die Docker-Komponenten installieren.

    gcloud-Beispiel:

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

  3. Installieren Sie erforderliche Python- oder andere von Beam erforderliche Bibliotheken wie apache_beam oder apache_beam[gcp]. Sie können die Flink-Master-URL übergeben oder weglassen und einen einzelnen Job ausführen.

    Python-Beispiel:

    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:
    

Die Dataproc Flink-Komponente unterstützt Kerberos-Cluster. Ein gültiges Kerberos-Ticket ist erforderlich, um einen Flink-Job zu senden und beizubehalten oder einen Flink-Cluster zu starten. Standardmäßig gilt eine Fahrkarte sieben Tage lang.

Die Weboberfläche des Flink Job Managers ist verfügbar, während ein Flink-Job oder ein Flink-Sitzungscluster ausgeführt wird. Die Flink Job Manager-UI kann über den Anwendungsmaster der Flink-Anwendung in YARN geöffnet werden.

So aktivieren und verwenden Sie den Zugriff auf die Benutzeroberfläche:

  1. Erstellen Sie den Dataproc-Cluster mit aktiviertem Component Gateway.
  2. Nach der Clustererstellung klicken Sie in der Google Cloud Console auf der Seite Clusterdetails auf den Tab der Web-Benutzeroberfläche und auf das Component Gateway YARN ResourceManager-Link.
  3. Ermitteln Sie auf der YARN Resource Manager-Seite den Anwendungseintrag des Flink-Clusters und klicken Sie auf den Link Application Master.
  4. Das Flink-Dashboard wird geöffnet.