Cette page a été traduite par l'API Cloud Translation.
Switch to English

Composant Dataproc Flink

Vous pouvez installer des composants supplémentaires lorsque vous créez un cluster Dataproc à l'aide de la fonctionnalité Composants facultatifs. Cette page décrit le composant Flink.

Le composant Dataproc Flink installe Apache Flink sur un cluster Dataproc.

Installer le composant

Installez le composant lorsque vous créez un cluster Dataproc. Le composant Dataproc Flink peut être installé sur les clusters créés avec la version 1.5 ou ultérieure de l'image Dataproc.

Consultez la section Versions Dataproc compatibles pour obtenir la version de composant incluse dans chaque version d'image Dataproc.

Commande gcloud

Pour créer un cluster Dataproc incluant le composant Flink, exécutez la commande gcloud dataproc clusters create cluster-name avec l'option --optional-components.

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

Remarque : Étant donné qu'une session YARN Flink consomme un volume important de ressources YARN, par défaut, Dataproc ne démarre pas de session Flink au démarrage du cluster Dataproc. Vous pouvez commencer une session lorsque vous démarrez votre cluster Flink en ajoutant l'option --metadata flink-start-yarn-session=true à la commande gcloud dataproc clusters create.

API REST

Le composant Flink peut être spécifié via l'API Dataproc à l'aide de la propriété SoftwareConfig.Component dans le cadre d'une requête clusters.create.

Console

  1. Activez le composant et la passerelle des composants.
    • Dans Cloud Console, ouvrez la page Dataproc Créer un cluster. Le panneau "Configurer le cluster" est sélectionné.
    • Dans la section Composants :

Après avoir démarré un cluster Dataproc avec Flink, connectez-vous en SSH au nœud maître Dataproc, puis exécutez des tâches Flink.

Exemple :

Exécuter une tâche Flink unique Après avoir accepté la tâche, Flink démarre un gestionnaire de tâches et des emplacements pour cette tâche dans YARN. La tâche Flink sera exécutée dans le cluster YARN jusqu'à ce que l'opération soit terminée. Le gestionnaire de tâches s'arrête une fois la tâche terminée. Les journaux des tâches sont disponibles dans les journaux YARN.

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

Exemple :

Démarrez une session Flink YARN de longue durée, puis exécutez une tâche.

Démarrez la session. Remarque: Vous pouvez également démarrer une session Flink YARN lorsque vous créez le cluster Flink à l'aide de l'option gcloud dataproc clusters create --metadata flink-start-yarn-session=true.

. /usr/bin/flink-yarn-daemon

Exécutez la tâche :

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

Exécuter des tâches Apache Beam

Vous pouvez exécuter des tâches Apache Beam sur Dataproc à l'aide de la commande FlinkRunner.

Après vous être connecté au nœud maître Dataproc, vous pouvez exécuter des tâches Beam sur Flink de deux manières :

  1. Tâches Java Beam
  2. Tâches Beam portables

Tâches Java Beam

Empaquetez vos tâches Beam dans un fichier JAR, puis exécutez la tâche.

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

Tâches Beam portables

Pour exécuter des tâches Beam écrites en Python, Go ou d'autres langages compatibles :

  1. Utilisez la fonction PortableRunner (voirFeuille de route de la portabilité).

  2. Le cluster Dataproc doit être créé avec le composant Docker activé, qui installe Docker sur chaque nœud de cluster. Pour ajouter le composant Docker au cluster, créez le cluster en installant les composants Flink et Docker.

    Exemple gcloud :

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

  3. Installez les bibliothèques Python requises ou autres bibliothèques requises par Beam, telles que apache_beam ou apache_beam[gcp]. Vous pouvez transmettre l'URL maître Flink ou l'omettre et exécuter une seule tâche.

    Exemple 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:
    

Le composant Dataproc Flink est compatible avec les clusters kerberisés. Un ticket Kerberos valide est nécessaire pour envoyer et conserver une tâche Flink ou démarrer un cluster Flink. Par défaut, un ticket reste valide pendant sept jours.

L'interface Web du gestionnaire de tâches Flink est disponible lorsqu'une tâche Flink ou un cluster de session Flink s'exécute. L'interface utilisateur du gestionnaire de tâches Flink peut être ouverte à partir de l'application maître de l'application Flink dans YARN.

Pour activer et utiliser l'accès à l'interface utilisateur, procédez comme suit :

  1. Créez le cluster Dataproc avec la passerelle des composants activée.
  2. Après la création du cluster, cliquez sur le lien lien du ResourceManager YARN de la passerelle des composants dans l'onglet "Interface Web" de la page Détails du cluster de Google Cloud Console.
  3. Sur la page du gestionnaire de ressources YARN, identifiez la ligne correspondant à l'application du cluster Flink et cliquez sur le lien "Application Master".
  4. Le tableau de bord Flink s'ouvre.