Amazon Managed Service untuk Apache Flink sebelumnya dikenal sebagai Amazon Kinesis Data Analytics untuk Apache Flink.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menerapkan penskalaan aplikasi di Managed Service untuk Apache Flink
Anda dapat mengonfigurasi eksekusi tugas secara paralel dan alokasi sumber daya untuk Amazon Managed Service untuk Apache Flink untuk mengimplementasikan penskalaan. Untuk informasi tentang cara Apache Flink menjadwalkan instance paralel tugas, lihat Eksekusi Paralel
Topik
Konfigurasikan paralelisme aplikasi dan ParallelismPer KPU
Anda mengonfigurasi eksekusi paralel untuk tugas aplikasi Managed Service for Apache Flink (seperti membaca dari sumber atau mengeksekusi operator) menggunakan properti berikut: ParallelismConfiguration
-
Parallelism
— Gunakan properti ini untuk mengatur paralelisme aplikasi Apache Flink default. Semua operator, sumber, dan sink mengeksekusi dengan paralelisme ini kecuali ditimpa dalam kode aplikasi. Default-nya adalah1
, dan maksimum default adalah256
. -
ParallelismPerKPU
— Gunakan properti ini untuk mengatur jumlah tugas paralel yang dapat dijadwalkan per Kinesis Processing Unit (KPU) aplikasi Anda. Default-nya adalah1
, dan maksimumnya adalah8
. Untuk aplikasi yang memiliki operasi pemblokiran (misalnya, I/O), nilai yang lebih tinggiParallelismPerKPU
mengarah ke pemanfaatan sumber daya secara penuh. KPU
catatan
Batas Parallelism
untuk sama dengan ParallelismPerKPU
kali batas untuk KPUs (yang memiliki default 64). KPUsBatas dapat ditingkatkan dengan meminta kenaikan batas. Untuk petunjuk tentang cara meminta peningkatan batas ini, lihat "Untuk meminta peningkatan batas" di Service Quotas.
Untuk informasi tentang menyetel paralelisme tugas untuk operator tertentu, lihat Menyetel Parallelism: Operator
Alokasikan Unit Pengolahan Kinesis
Layanan Terkelola untuk Apache Flink menyediakan kapasitas sebagai. KPUs Single KPU memberi Anda memori 1 v CPU dan 4 GB. Untuk setiap KPU dialokasikan, 50 GB penyimpanan aplikasi yang berjalan juga disediakan.
Managed Service for Apache Flink menghitung KPUs yang diperlukan untuk menjalankan aplikasi Anda menggunakan Parallelism
dan ParallelismPerKPU
properti, sebagai berikut:
Allocated KPUs for the application = Parallelism/ParallelismPerKPU
Layanan Terkelola untuk Apache Flink dengan cepat memberikan sumber daya aplikasi Anda sebagai respons terhadap lonjakan throughput atau aktivitas pemrosesan. Ini akan menghapus sumber daya dari aplikasi Anda secara bertahap setelah lonjakan aktivitas telah berlalu. Untuk menonaktifkan alokasi otomatis sumber daya, atur nilai AutoScalingEnabled
ke false
, seperti yang dijelaskan nanti di Perbarui paralelisme aplikasi Anda.
Batas default KPUs untuk aplikasi Anda adalah 64. Untuk petunjuk tentang cara meminta peningkatan batas ini, lihat "Untuk meminta peningkatan batas" di Service Quotas.
catatan
Tambahan dikenakan biaya KPU untuk tujuan orkestrasi. Untuk informasi selengkapnya, lihat Layanan Terkelola untuk harga Apache Flink
Perbarui paralelisme aplikasi Anda
Bagian ini berisi contoh permintaan untuk API tindakan yang menetapkan paralelisme aplikasi. Untuk contoh dan petunjuk selengkapnya tentang cara menggunakan blok permintaan dengan API tindakan, lihatLayanan Terkelola untuk kode contoh Apache Flink API.
Permintaan contoh berikut untuk tindakan CreateApplication
mengatur paralelisme saat Anda membuat aplikasi:
{ "ApplicationName": "string", "RuntimeEnvironment":"FLINK-1_18", "ServiceExecutionRole":"arn:aws:iam::123456789123:role/myrole", "ApplicationConfiguration": { "ApplicationCodeConfiguration":{ "CodeContent":{ "S3ContentLocation":{ "BucketARN":"arn:aws:s3:::amzn-s3-demo-bucket", "FileKey":"myflink.jar", "ObjectVersion":"AbCdEfGhIjKlMnOpQrStUvWxYz12345" } }, "CodeContentType":"ZIPFILE" }, "FlinkApplicationConfiguration": { "ParallelismConfiguration": { "AutoScalingEnabled": "true", "ConfigurationType": "CUSTOM", "Parallelism": 4, "ParallelismPerKPU": 4 } } } }
Permintaan contoh berikut untuk tindakan UpdateApplication
mengatur paralelisme untuk aplikasi yang sudah ada:
{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 4, "ApplicationConfigurationUpdate": { "FlinkApplicationConfigurationUpdate": { "ParallelismConfigurationUpdate": { "AutoScalingEnabledUpdate": "true", "ConfigurationTypeUpdate": "CUSTOM", "ParallelismPerKPUUpdate": 4, "ParallelismUpdate": 4 } } } }
Permintaan contoh berikut untuk tindakan UpdateApplication
menonaktifkan paralelisme untuk aplikasi yang sudah ada:
{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 4, "ApplicationConfigurationUpdate": { "FlinkApplicationConfigurationUpdate": { "ParallelismConfigurationUpdate": { "AutoScalingEnabledUpdate": "false" } } } }
maxParallelism pertimbangan
Paralelisme maksimum yang dapat diskalakan oleh pekerjaan Flink dibatasi oleh minimum maxParallelism
di semua operator pekerjaan. Misalnya, jika Anda memiliki pekerjaan sederhana dengan hanya sumber dan wastafel, dan sumbernya memiliki maxParallelism
16 dan wastafel memiliki 8, aplikasi tidak dapat skala melampaui paralelisme 8.
Untuk mempelajari bagaimana default maxParallelism
operator dihitung dan cara mengganti default, lihat Mengatur Paralelisme Maksimum
Sebagai aturan dasar, ketahuilah bahwa jika Anda tidak menentukan maxParallelism
untuk operator mana pun dan Anda memulai aplikasi Anda dengan paralelisme kurang dari atau sama dengan 128, semua operator akan memiliki maxParallelism
128.
catatan
Paralelisme maksimum pekerjaan adalah batas atas paralelisme untuk penskalaan aplikasi Anda mempertahankan status.
Jika Anda maxParallelism
memodifikasi aplikasi yang ada, aplikasi tidak akan dapat memulai ulang dari snapshot sebelumnya yang diambil dengan yang lamamaxParallelism
. Anda hanya dapat me-restart aplikasi tanpa snapshot.
Jika Anda berencana untuk menskalakan aplikasi Anda ke paralelisme yang lebih besar dari 128, Anda harus secara eksplisit mengatur dalam maxParallelism
aplikasi Anda.
Logika penskalaan otomatis akan mencegah penskalaan pekerjaan Flink ke paralelisme yang akan melebihi paralelisme maksimum pekerjaan.
Jika Anda menggunakan penskalaan otomatis khusus atau penskalaan terjadwal, konfigurasikan agar tidak melebihi paralelisme maksimum pekerjaan.
Jika Anda secara manual menskalakan aplikasi Anda di luar paralelisme maksimum, aplikasi gagal untuk memulai.