Anda dapat mengonfigurasi resource untuk suatu pekerjaan sebelum dimulai atau memodifikasinya saat sedang berjalan. Topik ini menjelaskan cara mengonfigurasi resource pekerjaan dan parameter terkait untuk setiap mode.
Perhatian
Setelah mengonfigurasi resource, Anda harus me-restart pekerjaan agar perubahan tersebut berlaku.
Prosedur
Buka halaman konfigurasi resource.
Login ke Konsol Realtime Compute for Apache Flink.
Pada kolom Actions ruang kerja yang dituju, klik Console.
Pada halaman , klik nama pekerjaan yang dituju.
Pada tab Configuration, klik Edit di sisi kanan bagian Resources.
Modifikasi informasi resource pekerjaan.
Resource mode
Description
Details
Basic mode
Pada mode dasar, Anda menentukan total resource (CPU dan memori JVM total) untuk setiap TaskManager. Sistem kemudian mendistribusikan resource tersebut secara merata ke semua slot berdasarkan pengaturan
taskmanager.numberOfTaskSlots. Mode ini cukup untuk sebagian besar pekerjaan simple.Expert mode
Pada mode ahli, Anda mengonfigurasi resource untuk setiap Slot Sharing Group (SSG). Flink kemudian menghitung spesifikasi yang dibutuhkan untuk setiap slot dan secara dinamis meminta TaskManager serta slot yang sesuai dari kolam sumber daya. Untuk pekerjaan kompleks di mana alokasi coarse-grained dapat menyebabkan pemanfaatan resource rendah, Anda dapat menggunakan kontrol resource detail halus untuk menyesuaikan setiap operator. Hal ini meningkatkan pemanfaatan resource dan membantu memenuhi persyaratan throughput.
CatatanMode ahli hanya didukung untuk pekerjaan SQL.
Untuk informasi lebih lanjut tentang konsep seperti TaskManager, JobManager, Task, dan slot, lihat dokumentasi Apache Flink Architecture.
Klik Save.
Lakukan restart pekerjaan.
Basic mode (coarse-grained)
Parameter | Description |
Parallelism | Parallelisme keseluruhan pekerjaan. |
JobManager CPU | Untuk operasi yang stabil, JobManager memerlukan minimal 0,5 core dan memori 2 GiB. Kami merekomendasikan 1 core dan 4 GiB. Nilai maksimum adalah 16 core. |
JobManager Memory | Nilainya berkisar antara 2 hingga 64 GiB. |
TaskManager CPU | Untuk operasi yang stabil, TaskManager memerlukan minimal 0,5 core dan memori 2 GiB. Kami merekomendasikan 1 core dan 4 GiB. Nilai maksimum adalah 16 core. |
TaskManager Memory | Nilainya berkisar antara 2 hingga 64 GiB. |
Slots per TaskManager | Tentukan jumlah slot untuk setiap TaskManager. |
Anda dapat menggunakan rumus berikut untuk menghitung kebutuhan resource:
Jumlah CU = MAX(Total CPU untuk JobManager dan TaskManager, Total memori untuk JobManager dan TaskManager / 4)
Jumlah aktual Pengelola Tugas = ceil(Paralelisme / Slot per Pengelola Tugas)
Slot aktual per TaskManager = Parallelisme / Jumlah aktual TaskManager
Bulatkan hasil pembagian ke bilangan bulat terdekat ke atas.
Konfigurasi resource tidak boleh melebihi batas maksimum default. Untuk meminta peningkatan batas tersebut, submit a ticket.
Anda juga dapat mengatur parameter
numberOfTaskSlotspada bidang Other Configurations dalam bagian Running Parameters Configuration pada tab Configuration pekerjaan. Pengaturan ini memiliki efek yang sama dengan bidang Slots per TaskManager, tetapi memiliki prioritas lebih tinggi.
Sebagai contoh, asumsikan Anda mengatur parallelisme menjadi 12 dan slots per TaskManager menjadi 4.
Pada contoh ini, JobManager CPU adalah 2 core, JobManager Memory adalah 4 GiB, TaskManager CPU adalah 2 core, dan TaskManager Memory adalah 4 GiB.
Pada Konsol Realtime Compute for Apache Flink, jumlah aktual TaskManager adalah 3, dan setiap TaskManager memiliki 4 slot.
Jumlah aktual TaskManager dan slot per TaskManager dihitung sebagai berikut:
Jumlah aktual TaskManager = ceil(Parallelisme yang dikonfigurasi / Slots per TaskManager yang dikonfigurasi) = ceil(12 / 4) = 3.
Slot aktual per TaskManager = Parallelisme / Jumlah aktual TaskManager = 12 / 3 = 4.
Expert mode (fine-grained)
Mode ahli hanya didukung untuk pekerjaan SQL.
Jika Anda memodifikasi SQL atau konfigurasi resource setelah pekerjaan diterapkan, Anda harus mengambil ulang graf paket sumber daya agar pekerjaan dapat dimulai dengan benar.
Konfigurasikan resource dasar
Parameter | Description |
JobManager CPU | Untuk operasi yang stabil, JobManager memerlukan minimal 0,5 core dan memori 2 GiB. |
JobManager Memory | Unit: GiB. Contohnya, 4 GiB. Nilai minimum adalah 2 GiB dan nilai maksimum adalah 64 GiB. |
Slots per TaskManager | Tidak berlaku. |
Konfigurasikan sumber daya slot
Pada expert mode, klik Get Plan Now untuk mengambil graf paket sumber daya.
Klik ikon Edit
pada kotak slot. Graf paket sumber daya yang dihasilkan menampilkan beberapa kotak slot, masing-masing berisi informasi operator VERTEX dan nilai PARALLELISM.Modifikasi konfigurasi slot. Pada kotak dialog, Anda dapat mengonfigurasi parameter CPU, heap memory, off-heap memory, dan parallelism.
Parallelisme yang Anda atur di sini berlaku untuk semua operator dalam Slot Sharing Group ini. Setelah menyimpan konfigurasi, sistem secara otomatis:
Menetapkan parallelisme yang sama untuk semua operator dalam Slot Sharing Group ini.
Mengalokasikan memori yang diperlukan untuk backend status, Python, dan operator berdasarkan logika komputasi pekerjaan. Alokasi ini bersifat otomatis.
Untuk node Source, kami merekomendasikan menetapkan parallelisme yang proporsional dengan jumlah partisinya. Dengan kata lain, parallelisme harus merupakan pembagi dari jumlah partisi. Misalnya, jika topik Kafka memiliki 16 partisi, atur parallelisme menjadi 16, 8, atau 4 untuk menghindari kesenjangan data.
Menetapkan parallelisme node Source terlalu rendah dapat menyebabkan bottleneck, karena satu Source mungkin membaca terlalu banyak data dan mengurangi throughput pekerjaan.
Untuk node lainnya, atur parallelisme sesuai dengan traffic datanya, dengan memberikan parallelisme lebih tinggi pada node yang memiliki traffic lebih besar.
CatatanKlik OK.
Konfigurasikan resource operator
Secara default, semua operator berbagi satu Slot Sharing Group, sehingga Anda tidak dapat mengonfigurasi resource-nya secara individual. Untuk mengonfigurasi resource operator tertentu, aktifkan Multiple SSG mode. Mode ini memberikan slot independen untuk setiap operator, sehingga Anda dapat mengonfigurasi resource-nya pada slot tersebut.
Pada tab Configuration, klik Edit pada bagian Resources, lalu atur Resource mode menjadi expert mode.
(Opsional) Jika tidak ada paket sumber daya yang ditampilkan, klik Get Plan Now.
Secara default, graf paket sumber daya yang dihasilkan menampilkan semua operator dalam satu kotak slot.
Nyalakan sakelar Multiple SSG mode, lalu klik Re-fetch.
Tindakan ini memisahkan operator dalam grup berbagi menjadi slot-slot individual.
Klik ikon Edit
pada kotak slot yang sesuai dengan operator yang dituju, lalu modifikasi resource operator tersebut.Pada kotak dialog Modify slot, Anda dapat mengonfigurasi parameter CPU, heap memory, off-heap memory, dan parallelism.
Klik OK.
Parallelisme operator, strategi chaining, dan State TTL
Konfigurasi State TTL hanya didukung pada Ververica Runtime (VVR) versi 8.0.7 dan yang lebih baru.
Anda dapat mengonfigurasi parallelisme, strategi chaining, dan State TTL untuk masing-masing operator.
Klik ikon Expand
pada kotak VERTEX yang dituju.Setelah diperluas, kotak VERTEX menampilkan setiap node operator, nilai PARALLELISM-nya, dan ikon Edit di samping setiap operator.
CatatanAnda dapat mengklik ikon Edit
pada VERTEX untuk mengatur parallelisme semua operator dalam VERTEX tersebut secara batch.Klik ikon Edit
untuk operator tersebut.Konfigurasikan resource operator.
Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Description
Parallelism
Parallelisme untuk operator tersebut.
Chaining strategy
Chaining menghubungkan beberapa operator menjadi satu task, meningkatkan performa dengan mengurangi overhead transfer data dan serialisasi. Namun, Anda dapat memutus rantai untuk mendapatkan kontrol lebih detail atas alur eksekusi. Strategi berikut tersedia:
ALWAYS (Default): Operator selalu dapat dirantai dengan operator hulu dan hilir.
HEAD: Operator saat ini bertindak sebagai kepala rantai. Tidak dirantai dengan operator hulu, tetapi tetap dirantai dengan operator hilir.
NEVER: Operator saat ini tidak dirantai dengan operator hulu maupun hilir.
State TTL
Anda dapat mengatur waktu kedaluwarsa dalam satuan detik, menit, jam, atau hari. Secara default, operator mewarisi waktu kedaluwarsa status tingkat pekerjaan, yang secara default adalah 1,5 hari. Untuk mengonfigurasi waktu kedaluwarsa tingkat pekerjaan, lihat Configure running parameters.
CatatanFitur ini hanya didukung pada Ververica Runtime (VVR) 8.0.7 dan yang lebih baru.
Konfigurasi TTL hanya didukung untuk operator stateful.
Kedaluwarsa status merupakan mekanisme pembersihan perkiraan. Sistem tidak menjamin bahwa status yang kedaluwarsa langsung dihapus setelah TTL berakhir. Waktu pembersihan aktual bergantung pada pola akses status latar belakang dan kebijakan pembersihan.
Klik OK.
Dokumen terkait
Untuk informasi tentang teknik optimasi resource, lihat High-performance Flink SQL optimization techniques.
Alih-alih menyesuaikan resource secara manual, Anda dapat mengaktifkan tuning performa otomatis. Untuk informasi lebih lanjut, lihat Configure automatic performance tuning.
Untuk mengonfigurasi pengaturan dasar pekerjaan, parameter running, dan logging, lihat Configure job deployment information.
Monitor kesehatan pekerjaan Anda dengan layanan Flink Advisor. Untuk informasi lebih lanjut, lihat Intelligent Job Diagnostics.