Il componente facoltativo Apache Flink ti consente di creare un cluster Managed Service for Apache Spark configurato per eseguire workload di elaborazione batch e in streaming distribuiti. L'attivazione di questo componente prepara il runtime per l'esecuzione di pipeline stateful e applicazioni di dati su larga scala.
Puoi utilizzare il tuo cluster Flink per
eseguire job Flink utilizzando la risorsa Jobs
dalla console Google Cloud , da Google Cloud CLI o dall'API Dataproc oppure eseguire
workload con
CLIflink
sul nodo master. Il componente supporta anche i job Apache Beam e l'esecuzione su cluster Kerberized.
Crea un cluster Flink
Puoi utilizzare la console Google Cloud , Google Cloud CLI o l'API Dataproc per creare un cluster con il componente Flink attivato.
Suggerimento: utilizza un cluster di VM standard con 1 master con il componente Flink. I cluster in modalità ad alta affidabilità di Managed Service for Apache Spark (con 3 VM master) non supportano la modalità ad alta affidabilità di Flink.
Console
Per creare un cluster Managed Service for Apache Spark Flink utilizzando la console Google Cloud , segui questi passaggi:
- Apri la pagina Crea cluster.
- Nella sezione Definisci il cluster, conferma o modifica la versione immagine:
- La versione immagine deve essere
1.5o successiva per attivare il componente Flink sul cluster. Consulta Versioni di Managed Service for Apache Spark supportate per visualizzare gli elenchi delle versioni dei componenti incluse in ogni release dell'immagine. - Consulta Esegui job Flink di Managed Service for Apache Spark per i requisiti della versione immagine per eseguire job Flink utilizzando la risorsa Job.
- La versione immagine deve essere
- Fai clic su Configurazione aggiuntiva per espandere la sezione.
- Modifica i componenti facoltativi.
- Nel riquadro che si apre, seleziona la casella di controllo Flink, quindi fai clic su Salva.
- Modifica Personalizzazione e altro.
- Nel riquadro che si apre:
- Nella sezione Proprietà del cluster, fai clic su + Aggiungi proprietà per configurare le proprietà di Flink (prefisso:
flink, chiave: FLINK_KEY, valore: VALUE) in/etc/flink/conf/flink-conf.yamlche fungeranno da valori predefiniti per le applicazioni Flink eseguite sul cluster.Esempi:
- Imposta
flink:historyserver.archive.fs.dirper specificare la posizione di Cloud Storage in cui scrivere i file della cronologia dei job Flink (questa posizione verrà utilizzata dal server di cronologia Flink in esecuzione sul cluster Flink). - Imposta gli slot delle attività Flink con
flink:taskmanager.numberOfTaskSlots=n.
- Imposta
- Nella sezione Metadati cluster personalizzati, fai clic su + Aggiungi proprietà e imposta la chiave su
flink-start-yarn-sessione il valore sutrueper eseguire il daemon Flink YARN,/usr/bin/flink-yarn-daemon, in background sul nodo driver del cluster per avviare una sessione Flink YARN (consulta Esegui job Flink utilizzando l'interfaccia a riga di comando flink - Modalità sessione.
- Nella sezione Proprietà del cluster, fai clic su + Aggiungi proprietà per configurare le proprietà di Flink (prefisso:
- Fai clic su Salva.
- Se utilizzi la versione immagine di Managed Service for Apache Spark
2.0o precedente, fai clic su Sicurezza. - Nel riquadro che si apre, in Accesso al progetto, seleziona la casella di controllo Abilita l'ambito della piattaforma cloud per questo cluster, quindi fai clic su Salva (l'ambito
cloud-platformè abilitato per impostazione predefinita quando crei un cluster che utilizza Managed Service for Apache Spark versione immagine2.1o successive). - Fai clic su Crea cluster per creare il cluster.
gcloud
Per creare un cluster Managed Service for Apache Spark Flink utilizzando gcloud CLI, esegui questo comando gcloud dataproc clusters create in locale in una finestra del terminale o in Cloud Shell:
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --image-version=DATAPROC_IMAGE_VERSION \ --optional-components=FLINK \ --enable-component-gateway \ --properties=PROPERTIES ... other flags
Note:
- CLUSTER_NAME: specifica il nome del cluster.
- REGION: specifica una regione di Compute Engine in cui si troverà il cluster.
DATAPROC_IMAGE_VERSION: (facoltativo) specifica la versione immagine da utilizzare nel cluster. La versione dell'immagine del cluster determina la versione del componente Flink installato sul cluster.
- La versione immagine deve essere
1.5o successiva per attivare il componente Flink sul cluster. Consulta Versioni delle immagini di Managed Service for Apache Spark supportate per visualizzare gli elenchi delle versioni dei componenti incluse in ogni release delle immagini. - Consulta Esegui job Flink di Managed Service for Apache Spark per i requisiti della versione immagine per eseguire job Flink tramite l'API Dataproc Jobs.
- La versione immagine deve essere
--optional-components: devi specificare il componenteFLINKper eseguire i job Flink e il servizio web Flink HistoryServer sul cluster.--enable-component-gateway: È necessario abilitare il Component Gateway per attivare il collegamento del Component Gateway all'interfaccia utente di Flink History Server. L'attivazione del gateway dei componenti consente anche l'accesso all'interfaccia web di Flink Job Manager in esecuzione sul cluster Flink.PROPERTIES. Se vuoi, specifica una o più proprietà del cluster.
Quando crei cluster Managed Service for Apache Spark con versioni immagine
2.0.67+ e2.1.15+, puoi utilizzare il flag--propertiesper configurare le proprietà Flink in/etc/flink/conf/flink-conf.yamlche fungeranno da valori predefiniti per le applicazioni Flink che esegui sul cluster.Puoi impostare
flink:historyserver.archive.fs.dirper specificare la posizione di Cloud Storage in cui scrivere i file di cronologia dei job Flink (questa posizione verrà utilizzata dal server di cronologia Flink in esecuzione sul cluster Flink).Esempio di più proprietà:
--properties=flink:historyserver.archive.fs.dir=gs://my-bucket/my-flink-cluster/completed-jobs,flink:taskmanager.numberOfTaskSlots=2Altri flag:
- Puoi aggiungere il flag facoltativo
--metadata flink-start-yarn-session=trueper eseguire il daemon Flink YARN,/usr/bin/flink-yarn-daemon, in background sul nodo master del cluster per avviare una sessione Flink YARN (consulta Esegui job Flink utilizzando l'interfaccia a riga di comando flink - Modalità sessione).
- Puoi aggiungere il flag facoltativo
Quando utilizzi le versioni immagine 2.0 o precedenti, aggiungi il flag
--scopes=https://www.googleapis.com/auth/cloud-platformper abilitare l'accesso alle API Google Cloud da parte del tuo cluster (consulta le best practice per gli ambiti). L'ambitocloud-platformè abilitato per impostazione predefinita quando crei un cluster che utilizza la versione immagine 2.1 o successive di Managed Service for Apache Spark.
API
Per creare un cluster Managed Service for Apache Spark Flink utilizzando l'API Dataproc, invia una richiesta clusters.create come segue:
Note:
Imposta SoftwareConfig.Component su
FLINK.Facoltativamente, puoi impostare
SoftwareConfig.imageVersionper specificare la versione immagine da utilizzare nel cluster. La versione dell'immagine del cluster determina la versione del componente Flink installato sul cluster.La versione immagine deve essere
1.5o successiva per attivare il componente Flink sul cluster (consulta Versioni di Managed Service for Apache Spark supportate per visualizzare gli elenchi delle versioni dei componenti incluse in ogni release dell'immagine di Managed Service for Apache Spark).Consulta Esegui job Flink di Managed Service for Apache Spark per i requisiti della versione immagine per eseguire job Flink tramite l'API Dataproc Jobs.
Imposta EndpointConfig.enableHttpPortAccess su
trueper attivare il link del gateway dei componenti all'interfaccia utente del server di cronologia Flink. L'attivazione del gateway dei componenti consente anche l'accesso all'interfaccia web di Flink Job Manager in esecuzione sul cluster Flink.Facoltativamente, puoi impostare
SoftwareConfig.propertiesper specificare una o più proprietà del cluster.- Puoi specificare le proprietà di Flink che fungeranno da valori predefiniti per le applicazioni Flink eseguite nel cluster. Ad esempio, puoi impostare
flink:historyserver.archive.fs.dirper specificare la località di Cloud Storage in cui scrivere i file di cronologia dei job Flink (questa località verrà utilizzata dal server di cronologia Flink in esecuzione sul cluster Flink).
- Puoi specificare le proprietà di Flink che fungeranno da valori predefiniti per le applicazioni Flink eseguite nel cluster. Ad esempio, puoi impostare
Facoltativamente, puoi impostare:
GceClusterConfig.metadata, ad esempio per specificareflink-start-yarn-sessiontrueper eseguire il daemon YARN di Flink,/usr/bin/flink-yarn-daemon, in background sul nodo master del cluster per avviare una sessione YARN di Flink (consulta Modalità sessione Flink).- GceClusterConfig.serviceAccountScopes
su
https://www.googleapis.com/auth/cloud-platform(ambitocloud-platform) quando utilizzi versioni immagine 2.0 o precedenti per abilitare l'accesso alle API Google Cloud da parte del tuo cluster (consulta le best practice per gli ambiti). L'ambitocloud-platformè abilitato per impostazione predefinita quando crei un cluster che utilizza la versione immagine 2.1 o successive di Managed Service for Apache Spark.
Dopo aver creato un cluster Flink
- Utilizza il link
Flink History Servernel gateway dei componenti per visualizzare il server di cronologia Flink in esecuzione sul cluster Flink. - Utilizza
YARN ResourceManager linknel gateway dei componenti per visualizzare l'interfaccia web di Flink Job Manager in esecuzione nel cluster Flink . - Crea un Persistent History Server di Managed Service for Apache Spark per visualizzare i file della cronologia dei job Flink scritti dai cluster Flink esistenti ed eliminati.
Esegui i job Flink utilizzando la risorsa Jobs
Puoi eseguire job Flink utilizzando la risorsa Managed Service for Apache Spark Jobs dalla consoleGoogle Cloud , da Google Cloud CLI o dall'API Dataproc.
Console
Per inviare un job di conteggio delle parole Flink di esempio dalla console:
Apri la pagina Invia un job di Managed Service for Apache Spark nella consoleGoogle Cloud nel browser.
Compila i campi della pagina Invia un job:
- Seleziona il nome del tuo cluster dall'elenco dei cluster.
- Imposta Tipo di prestazione su
Flink. - Imposta Classe principale o jar su
org.apache.flink.examples.java.wordcount.WordCount. - Imposta File jar su
file:///usr/lib/flink/examples/batch/WordCount.jar.file:///indica un file che si trova nel cluster. Managed Service for Apache Spark ha installatoWordCount.jarquando ha creato il cluster Flink.- Questo campo accetta anche un percorso Cloud Storage (
gs://BUCKET/JARFILE) o un percorso Hadoop Distributed File System (HDFS) (hdfs://PATH_TO_JAR).
Fai clic su Invia.
- L'output del driver del job viene visualizzato nella pagina Dettagli job.
- I job Flink sono elencati nella pagina Job di Managed Service for Apache Spark nella console Google Cloud .
- Fai clic su Arresta o Elimina nella pagina Job o Dettagli job per arrestare o eliminare un job.
gcloud
Per inviare un job Flink a un cluster Managed Service for Apache Spark Flink, esegui il comando gcloud CLI gcloud dataproc jobs submit localmente in una finestra del terminale o in Cloud Shell.
gcloud dataproc jobs submit flink \ --cluster=CLUSTER_NAME \ --region=REGION \ --class=MAIN_CLASS \ --jar=JAR_FILE \ -- JOB_ARGS
Note:
- CLUSTER_NAME: specifica il nome del cluster Managed Service for Apache Spark Flink a cui inviare il job.
- REGION: specifica una regione di Compute Engine in cui si trova il cluster.
- MAIN_CLASS: specifica la classe
maindella tua applicazione Flink, ad esempio:org.apache.flink.examples.java.wordcount.WordCount
- JAR_FILE: specifica il file jar dell'applicazione Flink. Puoi specificare:
- Un file jar installato sul cluster, utilizzando il prefisso
file:///:file:///usr/lib/flink/examples/streaming/TopSpeedWindowing.jarfile:///usr/lib/flink/examples/batch/WordCount.jar
- Un file jar in Cloud Storage:
gs://BUCKET/JARFILE - Un file jar in HDFS:
hdfs://PATH_TO_JAR
- Un file jar installato sul cluster, utilizzando il prefisso
JOB_ARGS: (Facoltativo) Aggiungi gli argomenti del job dopo il doppio trattino (
--).Dopo aver inviato il job, l'output del driver del job viene visualizzato nel terminale locale o di Cloud Shell.
Program execution finished Job with JobID 829d48df4ebef2817f4000dfba126e0f has finished. Job Runtime: 13610 ms ... (after,1) (and,12) (arrows,1) (ay,1) (be,4) (bourn,1) (cast,1) (coil,1) (come,1)
REST
Questa sezione mostra come inviare un job Flink a un cluster Managed Service for Apache Spark Flink utilizzando l'API jobs.submit di Managed Service for Apache Spark.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: Google Cloud ID progetto
- REGION: regione del cluster
- CLUSTER_NAME: specifica il nome del cluster Managed Service for Apache Spark Flink a cui inviare il job
Metodo HTTP e URL:
POST https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION/jobs:submit
Corpo JSON della richiesta:
{
"job": {
"placement": {
"clusterName": "CLUSTER_NAME"
},
"flinkJob": {
"mainClass": "org.apache.flink.examples.java.wordcount.WordCount",
"jarFileUris": [
"file:///usr/lib/flink/examples/batch/WordCount.jar"
]
}
}
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"reference": {
"projectId": "PROJECT_ID",
"jobId": "JOB_ID"
},
"placement": {
"clusterName": "CLUSTER_NAME",
"clusterUuid": "CLUSTER_UUID"
},
"flinkJob": {
"mainClass": "org.apache.flink.examples.java.wordcount.WordCount",
"args": [
"1000"
],
"jarFileUris": [
"file:///usr/lib/flink/examples/batch/WordCount.jar"
]
},
"status": {
"state": "PENDING",
"stateStartTime": "2020-10-07T20:16:21.759Z"
},
"jobUuid": "JOB_UUID"
}
- I job Flink sono elencati nella pagina Job di Managed Service for Apache Spark nella console Google Cloud .
- Puoi fare clic su Interrompi o Elimina nella pagina Job o Dettagli job nella console Google Cloud per interrompere o eliminare un job.
Esegui i job Flink utilizzando l'interfaccia a riga di comando flink
Anziché eseguire i job Flink utilizzando la risorsa Jobs di Managed Service for Apache Spark, puoi eseguire i job Flink sul nodo driver del cluster Flink utilizzando l'interfaccia a riga di comando flink.
Le sezioni seguenti descrivono i diversi modi in cui puoi eseguire un job della CLI flink sul tuo cluster Managed Service for Apache Spark Flink.
Accedi al nodo master tramite SSH: utilizza l'utilità SSH per aprire una finestra del terminale sulla VM master del cluster.
Imposta il percorso di classe: inizializza il percorso di classe Hadoop dalla finestra del terminale SSH sulla VM master del cluster Flink:
export HADOOP_CLASSPATH=$(hadoop classpath)Esegui job Flink: puoi eseguire job Flink in diverse modalità di deployment su YARN: modalità applicazione, per job e sessione.
Modalità applicazione: la modalità applicazione Flink è supportata dalla versione immagine 2.0 e successive di Managed Service for Apache Spark. Questa modalità esegue il metodo
main()del job sul gestore dei job YARN. Il cluster si arresta al termine del job.Esempio di invio di un job:
flink run-application \ -t yarn-application \ -Djobmanager.memory.process.size=1024m \ -Dtaskmanager.memory.process.size=2048m \ -Djobmanager.heap.mb=820 \ -Dtaskmanager.heap.mb=1640 \ -Dtaskmanager.numberOfTaskSlots=2 \ -Dparallelism.default=4 \ /usr/lib/flink/examples/batch/WordCount.jarElenca i job in esecuzione:
./bin/flink list -t yarn-application -Dyarn.application.id=application_XXXX_YYAnnulla un job in esecuzione:
./bin/flink cancel -t yarn-application -Dyarn.application.id=application_XXXX_YY <jobId>Modalità per job: questa modalità Flink esegue il metodo
main()del job sul lato client.Esempio di invio del job:
flink run \ -m yarn-cluster \ -p 4 \ -ys 2 \ -yjm 1024m \ -ytm 2048m \ /usr/lib/flink/examples/batch/WordCount.jarModalità sessione: avvia una sessione Flink YARN a lunga esecuzione, quindi invia uno o più job alla sessione.
Avvia una sessione: puoi avviare una sessione Flink in uno dei seguenti modi:
Crea un cluster Flink, aggiungendo il flag
--metadata flink-start-yarn-session=trueal comandogcloud dataproc clusters create(vedi Crea un cluster Dataproc Flink). Con questo flag attivato, dopo la creazione del cluster, Managed Service for Apache Spark esegue/usr/bin/flink-yarn-daemonper avviare una sessione Flink sul cluster.L'ID applicazione YARN della sessione viene salvato in
/tmp/.yarn-properties-${USER}. Puoi elencare l'ID con il comandoyarn application -list.Esegui lo script Flink
yarn-session.sh, preinstallato sulla VM master del cluster, con impostazioni personalizzate:Esempio con impostazioni personalizzate:
/usr/lib/flink/bin/yarn-session.sh \ -s 1 \ -jm 1024m \ -tm 2048m \ -nm flink-dataproc \ --detachedEsegui lo script wrapper Flink
/usr/bin/flink-yarn-daemoncon le impostazioni predefinite:. /usr/bin/flink-yarn-daemon
Invia un job a una sessione: esegui questo comando per inviare un job Flink alla sessione.
flink run -m <var>FLINK_MASTER_URL</var>/usr/lib/flink/examples/batch/WordCount.jar- FLINK_MASTER_URL: l'URL, inclusi host e porta, della VM master Flink in cui vengono eseguiti i job.
Rimuovi
http:// prefixdall'URL. Questo URL è elencato nell'output comando quando avvii una sessione Flink. Puoi eseguire il seguente comando per elencare questo URL nel campoTracking-URL:
yarn application -list -appId=<yarn-app-id> | sed 's#http://##' ```- FLINK_MASTER_URL: l'URL, inclusi host e porta, della VM master Flink in cui vengono eseguiti i job.
Rimuovi
Elenca i job in una sessione: per elencare i job Flink in una sessione, esegui una delle seguenti operazioni:
Esegui
flink listsenza argomenti. Il comando cerca l'ID applicazione YARN della sessione in/tmp/.yarn-properties-${USER}.Ottieni l'ID applicazione YARN della sessione da
/tmp/.yarn-properties-${USER}o dall'output diyarn application -list, quindi esegui<code>flink list -yid YARN_APPLICATION_ID.Esegui
flink list -m FLINK_MASTER_URL.
Arresta una sessione: per arrestare la sessione, ottieni l'ID applicazione YARN della sessione da
/tmp/.yarn-properties-${USER}o dall'output diyarn application -list, quindi esegui uno dei seguenti comandi:echo "stop" | /usr/lib/flink/bin/yarn-session.sh -id YARN_APPLICATION_IDyarn application -kill YARN_APPLICATION_ID
Esegui job Apache Beam su Flink
Puoi eseguire job Apache Beam su Managed Service for Apache Spark utilizzando il FlinkRunner.
Puoi eseguire i job Beam su Flink nei seguenti modi:
- Job Java Beam
- Job Beam portatili
Job Java Beam
Pacchettizza i job Beam in un file JAR. Fornisci il file JAR in bundle con le dipendenze necessarie per eseguire il job.
L'esempio seguente esegue un job Java Beam dal nodo master del cluster Managed Service for Apache Spark.
Crea un cluster Managed Service for Apache Spark con il componente Flink abilitato.
gcloud dataproc clusters create CLUSTER_NAME \ --optional-components=FLINK \ --image-version=DATAPROC_IMAGE_VERSION \ --region=REGION \ --enable-component-gateway \ --scopes=https://www.googleapis.com/auth/cloud-platform--optional-components: Flink.--image-version: la versione immagine del cluster, che determina la versione di Flink installata sul cluster (ad esempio, consulta le versioni dei componenti Apache Flink elencate per le ultime quattro versioni di release immagine 2.0.x).--region: una regione di Managed Service for Apache Spark supportata.--enable-component-gateway: abilita l'accesso alla UI di Flink Job Manager.--scopes: abilita l'accesso alle API Google Cloud da parte del tuo cluster (consulta le best practice per gli ambiti). L'ambitocloud-platformè abilitato per impostazione predefinita (non è necessario includere questa impostazione del flag) quando crei un cluster che utilizza la versione immagine 2.1 o successive di Managed Service for Apache Spark.
Utilizza l'utilità SSH per aprire una finestra del terminale sul nodo master del cluster Flink.
Avvia una sessione Flink YARN sul nodo master del cluster Managed Service for Apache Spark.
. /usr/bin/flink-yarn-daemonPrendi nota della versione di Flink sul tuo cluster Managed Service for Apache Spark.
flink --versionSulla tua macchina locale, genera l'esempio canonico di conteggio delle parole di Beam in Java.
Scegli una versione di Beam compatibile con la versione di Flink sul tuo cluster Managed Service for Apache Spark. Consulta la tabella Compatibilità delle versioni di Flink che elenca la compatibilità delle versioni di Beam-Flink.
Apri il file POM generato. Controlla la versione del runner Beam Flink specificata dal tag
<flink.artifact.name>. Se la versione del runner Beam Flink nel nome dell'artefatto Flink non corrisponde alla versione di Flink nel cluster, aggiorna il numero di versione in modo che corrisponda.mvn archetype:generate \ -DarchetypeGroupId=org.apache.beam \ -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \ -DarchetypeVersion=BEAM_VERSION \ -DgroupId=org.example \ -DartifactId=word-count-beam \ -Dversion="0.1" \ -Dpackage=org.apache.beam.examples \ -DinteractiveMode=falseCrea il pacchetto dell'esempio di conteggio delle parole.
mvn package -Pflink-runnerCarica il file JAR uber pacchettizzato,
word-count-beam-bundled-0.1.jar(~135 MB) sul nodo master del cluster Managed Service for Apache Spark. Puoi utilizzaregcloud storage cpper trasferimenti di file più rapidi al cluster Managed Service for Apache Spark da Cloud Storage.Nel terminale locale, crea un bucket Cloud Storage e carica l'uber JAR.
gcloud storage buckets create BUCKET_NAMEgcloud storage cp target/word-count-beam-bundled-0.1.jar gs://BUCKET_NAME/Scarica l'uber JAR sul nodo master di Managed Service for Apache Spark.
gcloud storage cp gs://BUCKET_NAME/word-count-beam-bundled-0.1.jar .
Esegui il job Java Beam sul nodo driver del cluster Managed Service for Apache Spark.
flink run -c org.apache.beam.examples.WordCount word-count-beam-bundled-0.1.jar \ --runner=FlinkRunner \ --output=gs://BUCKET_NAME/java-wordcount-outVerifica che i risultati siano stati scritti nel bucket Cloud Storage.
gcloud storage cat gs://BUCKET_NAME/java-wordcount-out-SHARD_IDInterrompi la sessione Flink YARN.
yarn application -listyarn application -kill YARN_APPLICATION_ID
Job Beam portatili
Per eseguire job Beam scritti in Python, Go e altri linguaggi supportati, puoi utilizzare FlinkRunner e PortableRunner come descritto nella pagina Flink Runner di Beam (consulta anche la roadmap del framework di portabilità).
L'esempio seguente esegue un job Beam portatile in Python dal nodo master del cluster Managed Service for Apache Spark.
Crea un cluster Managed Service for Apache Spark con i componenti Flink e Docker abilitati.
gcloud dataproc clusters create CLUSTER_NAME \ --optional-components=FLINK,DOCKER \ --image-version=DATAPROC_IMAGE_VERSION \ --region=REGION \ --enable-component-gateway \ --scopes=https://www.googleapis.com/auth/cloud-platformNote:
--optional-components: Flink e Docker.--image-version: la versione immagine del cluster, che determina la versione di Flink installata sul cluster (ad esempio, consulta le versioni dei componenti Apache Flink elencate per le ultime quattro versioni di release immagine 2.0.x).--region: una regione di Managed Service for Apache Spark disponibile.--enable-component-gateway: abilita l'accesso alla UI di Flink Job Manager.--scopes: abilita l'accesso alle API Google Cloud da parte del tuo cluster (consulta le best practice per gli ambiti). L'ambitocloud-platformè abilitato per impostazione predefinita (non è necessario includere questa impostazione del flag) quando crei un cluster che utilizza la versione immagine 2.1 o successive di Managed Service for Apache Spark.
Utilizza gcloud CLI in locale o in Cloud Shell per creare un bucket Cloud Storage. Specificherai BUCKET_NAME quando esegui un programma di esempio per il conteggio delle parole.
gcloud storage buckets create BUCKET_NAMEIn una finestra del terminale sulla VM del cluster, avvia una sessione Flink YARN. Prendi nota dell'URL del master Flink, l'indirizzo del master Flink in cui vengono eseguiti i job. Specificherai FLINK_MASTER_URL quando esegui un programma di conteggio delle parole di esempio.
. /usr/bin/flink-yarn-daemonVisualizza e prendi nota della versione di Flink che esegue il cluster Managed Service for Apache Spark. Specificherai FLINK_VERSION quando esegui un programma di conteggio delle parole di esempio.
flink --versionInstalla le librerie Python necessarie per il job sul nodo master del cluster.
Installa una versione di Beam compatibile con la versione di Flink sul cluster.
python -m pip install apache-beam[gcp]==BEAM_VERSIONEsegui l'esempio di conteggio delle parole sul nodo master del cluster.
python -m apache_beam.examples.wordcount \ --runner=FlinkRunner \ --flink_version=FLINK_VERSION \ --flink_master=FLINK_MASTER_URL --flink_submit_uber_jar \ --output=gs://BUCKET_NAME/python-wordcount-outNote:
--runner:FlinkRunner.--flink_version: FLINK_VERSION, come indicato in precedenza.--flink_master: FLINK_MASTER_URL, come indicato in precedenza.--flink_submit_uber_jar: utilizza l'uber JAR per eseguire il job Beam.--output: BUCKET_NAME, creato in precedenza.
Verifica che i risultati siano stati scritti nel bucket.
gcloud storage cat gs://BUCKET_NAME/python-wordcount-out-SHARD_IDInterrompi la sessione Flink YARN.
- Recupera l'ID applicazione.
yarn application -list1. Insert the <var>YARN_APPLICATION_ID</var>, then stop the session.yarn application -kill
Esegui Flink su un cluster Kerberized
Il componente Flink di Managed Service for Apache Spark supporta i cluster Kerberized. Per inviare e mantenere un job Flink o per avviare un cluster Flink, è necessario un ticket Kerberos valido. Per impostazione predefinita, un ticket Kerberos rimane valido per sette giorni.
Accedi alla UI di Flink Job Manager
L'interfaccia web di Flink Job Manager è disponibile mentre è in esecuzione un job Flink o un cluster di sessioni Flink. Per utilizzare l'interfaccia web:
- Crea un cluster Managed Service for Apache Spark Flink.
- Dopo aver creato il cluster, fai clic sul link YARN ResourceManager del gateway dei componenti nella scheda Interfaccia web della pagina Dettagli cluster nella console Google Cloud .
- Nella UI di YARN Resource Manager, identifica la voce dell'applicazione del cluster Flink. A seconda dello stato di completamento di un job, verrà visualizzato un link ApplicationMaster o Cronologia.
- Per un job di flussi di dati a lunga esecuzione, fai clic sul link ApplicationManager per aprire la dashboard di Flink; per un job completato, fai clic sul link Cronologia per visualizzare i dettagli del job.