Esta página foi traduzida pela API Cloud Translation.
Switch to English

Componente Flink do Dataproc

É possível instalar componentes adicionais ao criar um cluster do Dataproc usando o recurso Componentes opcionais. Esta página descreve o componente Flink.

O componente Flink do Dataproc instala o Apache Flink em um cluster do Dataproc.

Instalar o componente

Instale o componente ao criar um cluster do Dataproc. O componente Flink do Dataproc pode ser instalado em clusters criados com a imagem versão 1.5 ou posterior do Dataproc.

Consulte Versões compatíveis do Dataproc para a versão do componente incluída em cada versão de imagem do Dataproc.

Comando gcloud

Para criar um cluster do Dataproc que inclua o componente Flink, use o comando gcloud dataproc clusters create cluster-name com a sinalização --optional-components.

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

Observação: como uma sessão do Flink YARN consome recursos significativos do YARN, por padrão o Dataproc não inicia uma sessão do Flink quando o cluster do Dataproc é iniciado. Comece uma sessão ao iniciar o cluster do Flink adicionando a sinalização --metadata flink-start-yarn-session=true ao comando gcloud dataproc clusters create.

API REST

O componente Flink pode ser especificado por meio da API Dataproc usando SoftwareConfig.Component como parte de uma solicitação clusters.create.

Console

  1. Ative o componente e o gateway de componentes.
    • No Console do Cloud, abra a página Criar um cluster do Dataproc. O painel "Configurar cluster" está selecionado.
    • Na seção "Componentes:"

Depois que um cluster do Dataproc com o Flink for iniciado, execute o SSH no nó mestre do Dataproc e depois os jobs do Flink.

Exemplo:

Execute um único job do Flink. Depois de aceitar o job, o Flink inicia um gerenciador de jobs e os slots do job no YARN. O job do Flink será executado no cluster YARN até ser concluído. O Gerenciador de jobs é encerrado após a conclusão do job. Os registros de job estão disponíveis nos registros YARN.

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

Exemplo:

Inicie uma sessão do Flink YARN de longa duração e execute um job.

Inicie a sessão. Observação: também é possível iniciar uma sessão do Flink YARN ao criar o cluster do Flink usando a sinalização gcloud dataproc clusters create --metadata flink-start-yarn-session=true.

. /usr/bin/flink-yarn-daemon

Execute o job:

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

Como executar jobs do Apache Beam

É possível executar jobs do Apache Beam no Dataproc usando o FlinkRunner.

Depois de executar SSH no nó mestre do Dataproc, é possível executar jobs do Beam no Flink de duas maneiras:

  1. Jobs do Beam em Java
  2. Jobs do Beam portáteis.

Jobs do Beam em Java

Empacote os jobs do Beam em um arquivo jar e execute o job.

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

Jobs do Beam portáteis

Para executar jobs do Beam escritos em Python, Go ou outras linguagens compatíveis,

  1. Use PortableRunner (consulte Roteiro de frameworks de portabilidade ).

  2. O cluster do Dataproc precisa ser criado com o componente do Docker ativado, que instala o Docker em cada nó do cluster. Para adicionar o componente do Docker ao cluster, crie o cluster instalando os componentes Flink e Docker.

    Exemplo do gcloud

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

  3. Instale o Python ou outras bibliotecas necessárias para o Beam, como apache_beam ou apache_beam[gcp]. É possível enviar o URL mestre do Flink ou omiti-lo e executar um único job.

    Exemplo do 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:
    

O componente Flink do Dataproc é compatível com clusters do Kerberos. Um tíquete do Kerberos válido é necessário para enviar e manter um job do Flink ou iniciar um cluster do Flink. Por padrão, o ticket permanece válido por sete dias.

A interface da Web do Flink Job Manager está disponível durante a execução de um job de Flink ou um cluster de sessão do Flink. A IU do Flink Job Manager pode ser aberta no mestre do aplicativo Flink no YARN.

Para ativar e usar o acesso à IU:

  1. Crie o cluster do Dataproc com o Gateway de componentes ativado.
  2. Após a criação do cluster, clique no link do YARN ResourceManager do Gateway de componentes na guia "Interface da Web", na página Detalhes do cluster do Console do Google Cloud.
  3. Na página do YARN Resource Manager, identifique a entrada do aplicativo de cluster Flink e clique no link mestre do aplicativo.
  4. O painel do Flink é aberto.