Komponen opsional Apache Flink memungkinkan Anda membuat cluster Managed Service untuk Apache Spark yang dikonfigurasi untuk menjalankan workload streaming terdistribusi dan batch processing. Mengaktifkan komponen ini akan menyiapkan runtime untuk menjalankan pipeline stateful dan aplikasi data skala besar.
Anda dapat menggunakan cluster Flink untuk
menjalankan tugas Flink menggunakan resource Jobs
dari konsol Google Cloud , Google Cloud CLI, atau Dataproc API, atau menjalankan
workload dengan
flink CLI
di node master. Komponen ini juga mendukung
tugas Apache Beam
dan berjalan di
cluster Kerberized.
Membuat cluster Flink
Anda dapat menggunakan konsol Google Cloud , Google Cloud CLI, atau Dataproc API untuk membuat cluster yang memiliki komponen Flink yang diaktifkan di cluster.
Rekomendasi: Gunakan cluster VM 1 master standar dengan komponen Flink. Cluster mode Ketersediaan Tinggi Managed Service untuk Apache Spark (dengan 3 VM master) tidak mendukung mode ketersediaan tinggi Flink.
Konsol
Untuk membuat cluster Managed Service untuk Apache Spark Flink menggunakan konsol Google Cloud , lakukan langkah-langkah berikut:
- Buka halaman Create cluster.
- Di bagian Define your cluster, konfirmasi atau ubah image version:
- Versi image harus
1.5atau yang lebih tinggi untuk mengaktifkan komponen Flink di cluster. Lihat Versi Managed Service untuk Apache Spark yang didukung untuk melihat daftar versi komponen yang disertakan dalam setiap rilis image. - Lihat Menjalankan tugas Flink Managed Service untuk Apache Spark untuk mengetahui persyaratan versi image guna menjalankan tugas Flink menggunakan resource Jobs.
- Versi image harus
- Klik Additional configuration untuk meluaskan bagian tersebut.
- Edit Optional components.
- Di panel yang terbuka, centang kotak untuk Flink, lalu klik Save.
- Edit Penyesuaian & Lainnya.
- Di panel yang terbuka:
- Di bagian Cluster properties, klik + Add properties
untuk mengonfigurasi properti Flink (Awalan:
flink, Kunci: FLINK_KEY, Nilai: VALUE) di/etc/flink/conf/flink-conf.yamlyang akan bertindak sebagai default untuk aplikasi Flink yang Anda jalankan di cluster.Contoh:
- Tetapkan
flink:historyserver.archive.fs.diruntuk menentukan lokasi Cloud Storage untuk menulis file histori tugas Flink (lokasi ini akan digunakan oleh Flink History Server yang berjalan di cluster Flink). - Tetapkan slot tugas Flink dengan
flink:taskmanager.numberOfTaskSlots=n.
- Tetapkan
- Di bagian Custom cluster metadata, klik
+ Add properties, dan tetapkan kunci ke
flink-start-yarn-sessiondan nilai ketrueuntuk menjalankan daemon Flink YARN,/usr/bin/flink-yarn-daemon, di latar belakang pada node driver cluster untuk memulai sesi Flink YARN (lihat Menjalankan tugas Flink menggunakan flink CLI - Mode sesi.
- Di bagian Cluster properties, klik + Add properties
untuk mengonfigurasi properti Flink (Awalan:
- Klik Simpan.
- Jika Anda menggunakan Managed Service untuk Apache Spark versi image
2.0atau yang lebih lama, klik Security. - Di panel yang terbuka, di bagian Project access, centang
kotak Enables the cloud-platform scope for this cluster,
lalu klik Save
(cakupan
cloud-platformdiaktifkan secara default saat Anda membuat cluster yang menggunakan Managed Service untuk Apache Spark versi image2.1atau yang lebih baru). - Klik Create cluster untuk membuat cluster.
gcloud
Untuk membuat cluster Managed Service untuk Apache Spark Flink menggunakan gcloud CLI, jalankan perintah gcloud dataproc clusters create berikut secara lokal di jendela terminal atau di 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
Catatan:
- CLUSTER_NAME: Tentukan nama cluster.
- REGION: Tentukan region Compute Engine tempat cluster akan berada.
DATAPROC_IMAGE_VERSION: Secara opsional, tentukan versi image yang akan digunakan pada cluster. Versi image cluster menentukan versi komponen Flink yang diinstal di cluster.
- Versi image harus
1.5atau yang lebih tinggi untuk mengaktifkan komponen Flink di cluster. Lihat Versi image Managed Service untuk Apache Spark yang didukung untuk melihat daftar versi komponen yang disertakan dalam setiap rilis image. - Lihat Menjalankan tugas Flink Managed Service untuk Apache Spark untuk mengetahui persyaratan versi image guna menjalankan tugas Flink melalui Dataproc Jobs API.
- Versi image harus
--optional-components: Anda harus menentukan komponenFLINKuntuk menjalankan tugas Flink dan Layanan Web Flink HistoryServer di cluster.--enable-component-gateway: Anda harus mengaktifkan Component Gateway untuk mengaktifkan link Component Gateway ke UI Flink History Server. Mengaktifkan Gateway Komponen juga akan mengaktifkan akses ke antarmuka web Flink Job Manager yang berjalan di cluster Flink.PROPERTIES. Tentukan satu atau beberapa properti cluster secara opsional.
Saat membuat cluster Managed Service untuk Apache Spark dengan versi image
2.0.67+ dan2.1.15+, Anda dapat menggunakan flag--propertiesuntuk mengonfigurasi properti Flink di/etc/flink/conf/flink-conf.yamlyang akan bertindak sebagai default untuk aplikasi Flink yang Anda jalankan di cluster.Anda dapat menetapkan
flink:historyserver.archive.fs.diruntuk menentukan lokasi Cloud Storage tempat menulis file histori tugas Flink (lokasi ini akan digunakan oleh Flink History Server yang berjalan di cluster Flink).Contoh beberapa properti:
--properties=flink:historyserver.archive.fs.dir=gs://my-bucket/my-flink-cluster/completed-jobs,flink:taskmanager.numberOfTaskSlots=2Flag lainnya:
- Anda dapat menambahkan flag
--metadata flink-start-yarn-session=trueopsional untuk menjalankan daemon Flink YARN,/usr/bin/flink-yarn-daemon, di latar belakang pada node master cluster untuk memulai sesi Flink YARN (lihat Menjalankan tugas Flink menggunakan flink CLI - Mode sesi).
- Anda dapat menambahkan flag
Saat menggunakan versi image 2.0 atau yang lebih lama, tambahkan flag
--scopes=https://www.googleapis.com/auth/cloud-platformuntuk mengaktifkan akses ke API Google Cloud oleh cluster Anda (lihat Praktik terbaik cakupan). Cakupancloud-platformdiaktifkan secara default saat Anda membuat cluster yang menggunakan Managed Service untuk Apache Spark versi image 2.1 atau yang lebih baru.
API
Untuk membuat cluster Flink Managed Service untuk Apache Spark menggunakan Dataproc API, kirimkan permintaan clusters.create, sebagai berikut:
Catatan:
Tetapkan SoftwareConfig.Component ke
FLINK.Anda dapat menetapkan
SoftwareConfig.imageVersionuntuk menentukan versi image yang akan digunakan di cluster. Versi image cluster menentukan versi komponen Flink yang diinstal di cluster.Versi image harus
1.5atau yang lebih tinggi untuk mengaktifkan komponen Flink di cluster (Lihat Versi Managed Service untuk Apache Spark yang didukung untuk melihat daftar versi komponen yang disertakan dalam setiap rilis image Managed Service untuk Apache Spark).Lihat Menjalankan tugas Flink Managed Service untuk Apache Spark untuk mengetahui persyaratan versi image guna menjalankan tugas Flink melalui Dataproc Jobs API.
Tetapkan EndpointConfig.enableHttpPortAccess ke
trueuntuk mengaktifkan link Gateway Komponen ke UI Server Histori Flink. Mengaktifkan Gateway Komponen juga akan mengaktifkan akses ke antarmuka web Flink Job Manager yang berjalan di cluster Flink.Anda dapat menetapkan
SoftwareConfig.propertiesuntuk menentukan satu atau beberapa properti cluster.- Anda dapat menentukan properti Flink yang akan bertindak sebagai default untuk aplikasi Flink yang Anda jalankan di cluster. Misalnya,
Anda dapat menetapkan
flink:historyserver.archive.fs.diruntuk menentukan lokasi Cloud Storage untuk menulis file histori tugas Flink (lokasi ini akan digunakan oleh Flink History Server yang berjalan di cluster Flink).
- Anda dapat menentukan properti Flink yang akan bertindak sebagai default untuk aplikasi Flink yang Anda jalankan di cluster. Misalnya,
Anda dapat menetapkan
Anda dapat memilih untuk menetapkan:
GceClusterConfig.metadata. misalnya, untuk menentukanflink-start-yarn-sessiontrueuntuk menjalankan daemon YARN Flink,/usr/bin/flink-yarn-daemon, di latar belakang pada node master cluster untuk memulai sesi YARN Flink (lihat Mode sesi Flink).- GceClusterConfig.serviceAccountScopes
ke
https://www.googleapis.com/auth/cloud-platform(cakupancloud-platform) saat menggunakan versi image 2.0 atau yang lebih lama untuk mengaktifkan akses ke API Google Cloud oleh cluster Anda (lihat Praktik terbaik cakupan). Cakupancloud-platformdiaktifkan secara default saat Anda membuat cluster yang menggunakan Managed Service untuk Apache Spark versi image 2.1 atau yang lebih baru.
Setelah membuat cluster Flink
- Gunakan link
Flink History Serverdi Component Gateway untuk melihat Flink History Server yang berjalan di cluster Flink. - Gunakan
YARN ResourceManager linkdi Gateway Komponen untuk melihat antarmuka web Flink Job Manager yang berjalan di cluster Flink . - Buat Persistent History Server Managed Service untuk Apache Spark untuk melihat file histori tugas Flink yang ditulis oleh cluster Flink yang ada dan yang dihapus.
Menjalankan tugas Flink menggunakan resource Jobs
Anda dapat menjalankan tugas Flink menggunakan resource Jobs Managed Service untuk Apache Spark dari konsolGoogle Cloud , Google Cloud CLI, atau Dataproc API.
Konsol
Untuk mengirimkan contoh tugas wordcount Flink dari konsol:
Buka halaman Submit a job Managed Service untuk Apache Spark di konsolGoogle Cloud di browser Anda.
Isi kolom di halaman Submit a job:
- Pilih nama Cluster Anda dari daftar cluster.
- Tetapkan jenis pekerjaan ke
Flink. - Tetapkan Main class or jar ke
org.apache.flink.examples.java.wordcount.WordCount. - Tetapkan Jar files ke
file:///usr/lib/flink/examples/batch/WordCount.jar.file:///menunjukkan file yang terletak di cluster. Managed Service untuk Apache Spark menginstalWordCount.jarsaat membuat cluster Flink.- Kolom ini juga menerima jalur Cloud Storage
(
gs://BUCKET/JARFILE) atau jalur Hadoop Distributed File System (HDFS) (hdfs://PATH_TO_JAR).
Klik Kirim.
- Output driver tugas ditampilkan di halaman Job details.
- Tugas Flink tercantum di halaman Jobs Managed Service untuk Apache Spark di konsol Google Cloud .
- Klik Stop atau Delete dari halaman Jobs atau Job details untuk menghentikan atau menghapus tugas.
gcloud
Untuk mengirimkan tugas Flink ke cluster Flink Managed Service untuk Apache Spark, jalankan perintah gcloud CLI gcloud dataproc jobs submit secara lokal di jendela terminal atau di Cloud Shell.
gcloud dataproc jobs submit flink \ --cluster=CLUSTER_NAME \ --region=REGION \ --class=MAIN_CLASS \ --jar=JAR_FILE \ -- JOB_ARGS
Catatan:
- CLUSTER_NAME: Tentukan nama cluster Managed Service untuk Apache Spark Flink untuk mengirimkan tugas.
- REGION: Tentukan region Compute Engine tempat cluster berada.
- MAIN_CLASS: Tentukan class
mainaplikasi Flink Anda, seperti:org.apache.flink.examples.java.wordcount.WordCount
- JAR_FILE: Tentukan file jar aplikasi Flink. Anda dapat menentukan:
- File jar yang diinstal di cluster, menggunakan awalan
file:///`:file:///usr/lib/flink/examples/streaming/TopSpeedWindowing.jarfile:///usr/lib/flink/examples/batch/WordCount.jar
- File jar di Cloud Storage:
gs://BUCKET/JARFILE - File jar di HDFS:
hdfs://PATH_TO_JAR
- File jar yang diinstal di cluster, menggunakan awalan
JOB_ARGS: Secara opsional, tambahkan argumen tugas setelah tanda hubung ganda (
--).Setelah mengirimkan tugas, output driver tugas akan ditampilkan di terminal lokal atau 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
Bagian ini menunjukkan cara mengirimkan tugas Flink ke cluster Flink Managed Service untuk Apache Spark menggunakan API jobs.submit Managed Service untuk Apache Spark.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Google Cloud project ID
- REGION: region cluster
- CLUSTER_NAME: Tentukan nama cluster Flink Managed Service untuk Apache Spark yang akan menerima pengiriman tugas
Metode HTTP dan URL:
POST https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION/jobs:submit
Meminta isi JSON:
{
"job": {
"placement": {
"clusterName": "CLUSTER_NAME"
},
"flinkJob": {
"mainClass": "org.apache.flink.examples.java.wordcount.WordCount",
"jarFileUris": [
"file:///usr/lib/flink/examples/batch/WordCount.jar"
]
}
}
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"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"
}
- Tugas Flink tercantum di halaman Jobs Managed Service untuk Apache Spark di konsol Google Cloud .
- Anda dapat mengklik Stop atau Delete dari halaman Jobs atau Job details di konsol Google Cloud untuk menghentikan atau menghapus tugas.
Menjalankan tugas Flink menggunakan flink CLI
Alih-alih
menjalankan tugas Flink menggunakan resource Jobs Managed Service untuk Apache Spark,
Anda dapat menjalankan tugas Flink di node driver cluster Flink menggunakan CLI flink.
Bagian berikut menjelaskan berbagai cara untuk menjalankan tugas CLI flink di
cluster Flink Managed Service untuk Apache Spark Anda.
SSH ke node master: Gunakan utilitas SSH untuk membuka jendela terminal di VM master cluster.
Tetapkan classpath: Lakukan inisialisasi classpath Hadoop dari jendela terminal SSH di VM master cluster Flink:
export HADOOP_CLASSPATH=$(hadoop classpath)Menjalankan tugas Flink: Anda dapat menjalankan tugas Flink dalam berbagai mode deployment di YARN: mode aplikasi, per tugas, dan sesi.
Mode aplikasi: Mode Aplikasi Flink didukung oleh Managed Service untuk Apache Spark image versi 2.0 dan yang lebih baru. Mode ini menjalankan metode
main()tugas di YARN Job Manager. Cluster akan dinonaktifkan setelah tugas selesai.Contoh pengiriman tugas:
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.jarMencantumkan tugas yang berjalan:
./bin/flink list -t yarn-application -Dyarn.application.id=application_XXXX_YYMembatalkan tugas yang sedang berjalan:
./bin/flink cancel -t yarn-application -Dyarn.application.id=application_XXXX_YY <jobId>Mode per tugas: Mode Flink ini menjalankan metode
main()tugas di sisi klien.Contoh pengiriman tugas:
flink run \ -m yarn-cluster \ -p 4 \ -ys 2 \ -yjm 1024m \ -ytm 2048m \ /usr/lib/flink/examples/batch/WordCount.jarMode sesi: Memulai sesi YARN Flink yang berjalan lama, lalu mengirimkan satu atau beberapa tugas ke sesi tersebut.
Memulai sesi: Anda dapat memulai sesi Flink dengan salah satu cara berikut:
Buat cluster Flink, dengan menambahkan flag
--metadata flink-start-yarn-session=trueke perintahgcloud dataproc clusters create(Lihat Membuat cluster Flink Dataproc). Dengan mengaktifkan flag ini, setelah cluster dibuat, Managed Service untuk Apache Spark akan menjalankan/usr/bin/flink-yarn-daemonuntuk memulai sesi Flink di cluster.ID aplikasi YARN sesi disimpan di
/tmp/.yarn-properties-${USER}. Anda dapat mencantumkan ID dengan perintahyarn application -list.Jalankan skrip Flink
yarn-session.sh, yang telah diinstal sebelumnya di VM master cluster, dengan setelan kustom:Contoh dengan setelan kustom:
/usr/lib/flink/bin/yarn-session.sh \ -s 1 \ -jm 1024m \ -tm 2048m \ -nm flink-dataproc \ --detachedJalankan skrip wrapper
/usr/bin/flink-yarn-daemonFlink dengan setelan default:. /usr/bin/flink-yarn-daemon
Mengirim tugas ke sesi: Jalankan perintah berikut untuk mengirim tugas Flink ke sesi.
flink run -m <var>FLINK_MASTER_URL</var>/usr/lib/flink/examples/batch/WordCount.jar- FLINK_MASTER_URL: URL, termasuk host dan port, dari VM master Flink tempat tugas dijalankan.
Hapus
http:// prefixdari URL. URL ini tercantum dalam output perintah saat Anda memulai sesi Flink. Anda dapat menjalankan perintah berikut untuk mencantumkan URL ini di kolomTracking-URL:
yarn application -list -appId=<yarn-app-id> | sed 's#http://##' ```- FLINK_MASTER_URL: URL, termasuk host dan port, dari VM master Flink tempat tugas dijalankan.
Hapus
Mencantumkan tugas dalam sesi: Untuk mencantumkan tugas Flink dalam sesi, lakukan salah satu hal berikut:
Jalankan
flink listtanpa argumen. Perintah ini mencari ID aplikasi YARN sesi di/tmp/.yarn-properties-${USER}.Dapatkan ID aplikasi YARN sesi dari
/tmp/.yarn-properties-${USER}atau outputyarn application -list, lalu jalankan<code>flink list -yid YARN_APPLICATION_ID.Jalankan
flink list -m FLINK_MASTER_URL.
Menghentikan sesi: Untuk menghentikan sesi, dapatkan ID aplikasi YARN sesi dari
/tmp/.yarn-properties-${USER}atau outputyarn application -list, lalu jalankan salah satu perintah berikut:echo "stop" | /usr/lib/flink/bin/yarn-session.sh -id YARN_APPLICATION_IDyarn application -kill YARN_APPLICATION_ID
Menjalankan tugas Apache Beam di Flink
Anda dapat menjalankan tugas Apache Beam di Managed Service untuk Apache Spark menggunakan FlinkRunner.
Anda dapat menjalankan tugas Beam di Flink dengan cara berikut:
- Tugas Java Beam
- Tugas Beam portabel
Tugas Java Beam
Kemas tugas Beam Anda ke dalam file JAR. Berikan file JAR yang dipaketkan dengan dependensi yang diperlukan untuk menjalankan tugas.
Contoh berikut menjalankan tugas Java Beam dari node master cluster Managed Service untuk Apache Spark.
Buat cluster Managed Service untuk Apache Spark dengan komponen Flink diaktifkan.
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: versi image cluster, yang menentukan versi Flink yang diinstal pada cluster (misalnya, lihat versi komponen Apache Flink yang tercantum untuk versi rilis image 2.0.x terbaru dan empat versi sebelumnya).--region: region Managed Service untuk Apache Spark yang didukung.--enable-component-gateway: mengaktifkan akses ke UI Flink Job Manager.--scopes: mengaktifkan akses ke API Google Cloud oleh cluster Anda (lihat Praktik terbaik cakupan). Cakupancloud-platformdiaktifkan secara default (Anda tidak perlu menyertakan setelan flag ini) saat Anda membuat cluster yang menggunakan Managed Service untuk Apache Spark versi image 2.1 atau yang lebih baru.
Gunakan utilitas SSH untuk membuka jendela terminal di node master cluster Flink.
Mulai sesi Flink YARN di node master cluster Managed Service untuk Apache Spark.
. /usr/bin/flink-yarn-daemonCatat versi Flink di cluster Managed Service untuk Apache Spark Anda.
flink --versionDi komputer lokal Anda, buat contoh penghitungan kata Beam kanonis di Java.
Pilih versi Beam yang kompatibel dengan versi Flink di cluster Managed Service untuk Apache Spark Anda. Lihat tabel Kompatibilitas Versi Flink yang mencantumkan kompatibilitas versi Beam-Flink.
Buka file POM yang dihasilkan. Periksa versi runner Beam Flink yang ditentukan oleh tag
<flink.artifact.name>. Jika versi runner Beam Flink dalam nama artefak Flink tidak cocok dengan versi Flink di cluster Anda, perbarui nomor versi agar cocok.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=falseKemas contoh penghitungan kata.
mvn package -Pflink-runnerUpload file JAR uber yang dipaketkan,
word-count-beam-bundled-0.1.jar(~135 MB) ke node master cluster Managed Service untuk Apache Spark Anda. Anda dapat menggunakangcloud storage cpuntuk transfer file yang lebih cepat ke cluster Managed Service untuk Apache Spark dari Cloud Storage.Di terminal lokal, buat bucket Cloud Storage, lalu upload uber JAR.
gcloud storage buckets create BUCKET_NAMEgcloud storage cp target/word-count-beam-bundled-0.1.jar gs://BUCKET_NAME/Di node master Managed Service untuk Apache Spark, download uber JAR.
gcloud storage cp gs://BUCKET_NAME/word-count-beam-bundled-0.1.jar .
Jalankan tugas Java Beam di node driver cluster Managed Service untuk 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-outPastikan hasilnya telah ditulis ke bucket Cloud Storage Anda.
gcloud storage cat gs://BUCKET_NAME/java-wordcount-out-SHARD_IDHentikan sesi YARN Flink.
yarn application -listyarn application -kill YARN_APPLICATION_ID
Tugas Beam Portabel
Untuk menjalankan tugas Beam yang ditulis dalam Python, Go, dan bahasa lain yang didukung, Anda dapat menggunakan FlinkRunner dan PortableRunner seperti yang dijelaskan di halaman Flink Runner Beam (lihat juga Peta Jalan Framework Portabilitas).
Contoh berikut menjalankan tugas Beam portabel di Python dari node master cluster Managed Service untuk Apache Spark.
Buat cluster Managed Service untuk Apache Spark dengan komponen Flink dan Docker diaktifkan.
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-platformCatatan:
--optional-components: Flink dan Docker.--image-version: Versi image cluster, yang menentukan versi Flink yang diinstal pada cluster (misalnya, lihat versi komponen Apache Flink yang tercantum untuk versi rilis image 2.0.x terbaru dan empat versi sebelumnya).--region: Region Managed Service untuk Apache Spark yang tersedia.--enable-component-gateway: Mengaktifkan akses ke UI Flink Job Manager.--scopes: Aktifkan akses ke API Google Cloud oleh cluster Anda (lihat Praktik terbaik cakupan). Cakupancloud-platformdiaktifkan secara default (Anda tidak perlu menyertakan setelan flag ini) saat Anda membuat cluster yang menggunakan Managed Service untuk Apache Spark versi image 2.1 atau yang lebih baru.
Gunakan gcloud CLI secara lokal atau di Cloud Shell untuk membuat bucket Cloud Storage. Anda akan menentukan BUCKET_NAME saat menjalankan program wordcount contoh.
gcloud storage buckets create BUCKET_NAMEDi jendela terminal pada VM cluster, mulai sesi Flink YARN. Catat URL master Flink, alamat master Flink tempat tugas dijalankan. Anda akan menentukan FLINK_MASTER_URL saat menjalankan contoh program wordcount.
. /usr/bin/flink-yarn-daemonTampilkan dan catat versi Flink yang menjalankan cluster Managed Service untuk Apache Spark. Anda akan menentukan FLINK_VERSION saat menjalankan contoh program wordcount.
flink --versionInstal library Python yang diperlukan untuk tugas di node master cluster.
Instal versi Beam yang kompatibel dengan versi Flink di cluster.
python -m pip install apache-beam[gcp]==BEAM_VERSIONJalankan contoh jumlah kata di node master 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-outCatatan:
--runner:FlinkRunner.--flink_version: FLINK_VERSION, yang disebutkan sebelumnya.--flink_master: FLINK_MASTER_URL, yang disebutkan sebelumnya.--flink_submit_uber_jar: Gunakan uber JAR untuk menjalankan tugas Beam.--output: BUCKET_NAME, yang dibuat sebelumnya.
Pastikan hasil telah ditulis ke bucket Anda.
gcloud storage cat gs://BUCKET_NAME/python-wordcount-out-SHARD_IDHentikan sesi YARN Flink.
- Dapatkan ID aplikasi.
yarn application -list1. Insert the <var>YARN_APPLICATION_ID</var>, then stop the session.yarn application -kill
Menjalankan Flink di cluster yang menggunakan Kerberos
Komponen Flink Managed Service untuk Apache Spark mendukung cluster Kerberized. Tiket Kerberos yang valid diperlukan untuk mengirimkan dan mempertahankan tugas Flink atau untuk memulai cluster Flink. Secara default, tiket Kerberos tetap valid selama tujuh hari.
Mengakses UI Flink Job Manager
Antarmuka web Flink Job Manager tersedia saat tugas Flink atau cluster sesi Flink sedang berjalan. Untuk menggunakan antarmuka web:
- Membuat cluster Flink Managed Service untuk Apache Spark.
- Setelah pembuatan cluster, klik link YARN ResourceManager Component Gateway di tab Antarmuka Web di halaman Cluster details di konsol Google Cloud .
- Di UI YARN Resource Manager, identifikasi entri aplikasi cluster Flink. Bergantung pada status penyelesaian tugas, link ApplicationMaster atau History akan dicantumkan.
- Untuk tugas streaming yang berjalan lama, klik link ApplicationManager untuk membuka dasbor Flink; untuk tugas yang telah selesai, klik link History untuk melihat detail tugas.