All Products
Search
Document Center

Realtime Compute for Apache Flink:Konfigurasikan sumber daya pekerjaan

Last Updated:Sep 19, 2026

Anda dapat mengonfigurasi sumber daya untuk suatu pekerjaan sebelum dimulai atau memodifikasinya saat sedang berjalan. Topik ini menjelaskan cara mengonfigurasi sumber daya pekerjaan dan parameter untuk setiap mode.

Perhatian

Setelah Anda mengonfigurasi sumber daya, Anda harus melakukan restart pekerjaan agar perubahan diterapkan.

Prosedur

  1. Buka halaman konfigurasi sumber daya.

    1. Login ke Konsol Realtime Compute for Apache Flink.

    2. Pada kolom Actions ruang kerja target, klik Console.

    3. Pada halaman O&M > Deployments, klik nama pekerjaan target.

    4. Pada tab Configuration, klik Edit di sisi kanan bagian Resources.

  2. Modifikasi informasi sumber daya pekerjaan.

    Mode sumber daya

    Deskripsi

    Detail

    Basic

    Dalam mode dasar, Anda menentukan total sumber daya (CPU dan total memori JVM) untuk setiap TaskManager. Sistem kemudian mendistribusikan sumber daya tersebut secara merata ke semua slot berdasarkan pengaturan taskmanager.numberOfTaskSlots. Mode ini cukup untuk sebagian besar pekerjaan simple.

    Mode dasar (coarse-grained)

    Expert

    Dalam mode ahli, Anda mengonfigurasi sumber daya 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 sumber daya rendah, Anda dapat menggunakan kontrol sumber daya fine-grained untuk menyesuaikan setiap operator. Hal ini meningkatkan pemanfaatan sumber daya dan membantu memenuhi persyaratan throughput.

    Catatan

    Mode ahli hanya didukung untuk pekerjaan SQL.

    Mode ahli (fine-grained)

    Untuk informasi lebih lanjut tentang konsep seperti TaskManager, JobManager, task, dan slot, lihat dokumentasi Apache Flink Architecture.

  3. Klik Save.

  4. Lakukan restart pekerjaan.

Mode dasar (coarse-grained)

Parameter

Deskripsi

Parallelism

Parallelisme keseluruhan pekerjaan.

Job Manager CPU

Untuk operasi 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.

Task Manager CPU

Untuk operasi 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.

TaskManager Slots

Tentukan jumlah slot untuk setiap TaskManager.

JVM Overhead TaskManager

Dalam mode dasar, ketika Anda mengatur TaskManager Memory, sistem secara otomatis menyisihkan sebagian sebagai JVM Overhead. Secara default, JVM Overhead menyumbang 10% dari total memori TaskManager. Rasio ini dikendalikan oleh parameter taskmanager.memory.jvm-overhead.fraction (default: 0.1). Untuk menyesuaikan alokasi ini, atur taskmanager.memory.jvm-overhead.fraction pada bidang Other Configurations di bawah Running Parameters Configuration.

Catatan

Resident Set Size (RSS) yang dilaporkan untuk proses TaskManager tidak mencakup Page Cache. Jika TaskManager dan sistem operasi bersaing untuk memori, error kehabisan memori (OOM) dapat terjadi. Sisihkan minimal 400 MB memori tambahan di atas memori TaskManager yang direncanakan untuk mengakomodasi penggunaan Page Cache oleh sistem operasi.

Penting

Rekomendasi memori JobManager dan troubleshooting OOM:

  • Konfigurasi minimum yang direkomendasikan — Konfigurasikan minimal 0,5 core dan memori 2 GiB untuk JobManager guna memastikan operasi stabil. Untuk beban kerja produksi, disarankan 1 core dan 4 GiB.

  • Ambang batas risiko OOM — Jika pemanfaatan memori JobManager secara konsisten berada di sekitar 80%, pekerjaan berisiko mengalami error OOM. Tingkatkan memori yang dialokasikan untuk mengurangi risiko ini.

  • Skenario sinkronisasi Paimon (Direct Buffer Memory OOM) — Jika pekerjaan Anda menyinkronkan volume data besar ke Paimon dan mengalami error JobManager Direct Buffer Memory OOM, tingkatkan jobmanager.memory.off-heap.size dari nilai default 128 MB menjadi 512 MB atau lebih. Atur parameter ini pada bidang Other Configurations di bawah Running Parameters Configuration.

Anda dapat menggunakan rumus berikut untuk menghitung kebutuhan sumber daya:

  • 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

Catatan
  • Bulatkan hasil pembagian ke bilangan bulat terdekat ke atas.

  • Konfigurasi sumber daya tidak boleh melebihi batas maksimum default. Untuk meminta peningkatan batas ini, submit a ticket.

  • Anda juga dapat mengatur parameter numberOfTaskSlots pada bidang Other Configuration dalam bagian Parameters pada tab Configuration pekerjaan. Pengaturan ini memiliki efek yang sama dengan bidang TaskManager Slots tetapi memiliki prioritas lebih tinggi.

Sebagai contoh, asumsikan Anda mengatur parallelisme menjadi 12 dan slot per TaskManager menjadi 4.

Dalam contoh ini, Job Manager CPU adalah 2 core, JobManager Memory adalah 4 GiB, Task Manager CPU adalah 2 core, dan TaskManager Memory adalah 4 GiB.

Di 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:

  1. Jumlah aktual TaskManager = ceil(Parallelisme yang dikonfigurasi / Slot per TaskManager yang dikonfigurasi) = ceil(12 / 4) = 3.

  2. Slot aktual per TaskManager = Parallelisme / Jumlah aktual TaskManager = 12 / 3 = 4.

Mode ahli (fine-grained)

Catatan
  • Mode ahli hanya didukung untuk pekerjaan SQL.

  • Jika Anda memodifikasi SQL atau konfigurasi sumber daya setelah pekerjaan diterapkan, Anda harus mengambil ulang graf paket sumber daya untuk memastikan pekerjaan dimulai dengan benar.

Konfigurasikan sumber daya dasar

Parameter

Deskripsi

Job Manager CPU

Untuk operasi 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.

TaskManager Slots

Tidak berlaku.

Konfigurasikan sumber daya slot

  1. Dalam Expert, klik Get Plan Now untuk mengambil graf paket sumber daya.

  2. Klik ikon Edit Edit pada kotak slot. Graf paket sumber daya yang dihasilkan menampilkan beberapa kotak slot, masing-masing berisi informasi operator VERTEX dan nilai PARALLELISM.

  3. Modifikasi konfigurasi slot. Di 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 Anda 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.

    • Catatan
      • Untuk node Source, kami merekomendasikan mengatur 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.

      • Mengatur 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 trafik datanya, dengan memberikan parallelisme lebih tinggi pada node yang memiliki trafik lebih besar.

    Catatan

    Dalam mode ahli, kotak dialog konfigurasi slot menampilkan CPU, Heap Memory, dan Off-Heap Memory untuk dikonfigurasi secara manual. Komponen memori lainnya — termasuk JVM Overhead, buffer jaringan, dan memori framework — dialokasikan secara otomatis oleh sistem sesuai proporsi defaultnya. Komponen-komponen ini telah dialokasikan sebelum TaskManager dimulai dan tidak disesuaikan secara dinamis selama eksekusi pekerjaan.

    Jika Anda mengalami error memori tidak mencukupi yang disebabkan oleh komponen yang dialokasikan secara otomatis ini, konfigurasikan parameter berikut pada bidang Other Configurations di bawah Running Parameters Configuration:

    • taskmanager.memory.jvm-overhead.fraction: Ukuran JVM Overhead sebagai pecahan dari total memori TaskManager. Default: 0.1 (10%).

    • taskmanager.memory.jvm-overhead.max: Ukuran maksimum JVM Overhead.

    • taskmanager.memory.jvm-overhead.min: Ukuran minimum JVM Overhead.

  4. Klik OK.

Konfigurasikan sumber daya operator

Secara default, semua operator berbagi satu Slot Sharing Group, sehingga Anda tidak dapat mengonfigurasi sumber dayanya secara individual. Untuk mengonfigurasi sumber daya operator tertentu, aktifkan Multiple SSG. Ini akan memberikan slot independen untuk setiap operator, sehingga Anda dapat mengonfigurasi sumber dayanya pada slot tersebut.

  1. Pada tab Configuration, klik Edit di bagian Resources, lalu atur Mode menjadi Expert.

  2. (Opsional) Jika tidak ada paket sumber daya yang ditampilkan, klik Get Plan Now.

    Secara default, graf paket sumber daya yang dihasilkan menunjukkan semua operator dalam satu kotak slot.

  3. Nyalakan sakelar Multiple SSG lalu klik Re-fetch.

    Tindakan ini memisahkan operator dalam grup berbagi menjadi slot individual.

  4. Klik ikon Edit Edit pada kotak slot yang sesuai dengan operator target, lalu modifikasi sumber daya operator tersebut.

    Di kotak dialog Modify slot, Anda dapat mengonfigurasi parameter CPU, Heap Memory, Off-Heap Memory, dan parallelism.

  5. Klik OK.

Catatan

Skenario khas: metrik Busy tinggi pada operator sink menyebabkan tekanan balik upstream

Jika metrik Busy operator sink tetap tinggi dalam topologi pekerjaan dan operator upstream menunjukkan tekanan balik, bottleneck penulisan meningkatkan latensi pekerjaan. Ikuti langkah-langkah di atas untuk mengatur Mode menjadi Expert, nyalakan Multiple SSG, dan tingkatkan hanya CPU dan memori slot yang sesuai dengan operator sink. Misalnya, tingkatkan CPU dari 0,5 core menjadi 2 core dan memori dari 2 GiB menjadi 4 GiB untuk mempercepat penulisan dan mengurangi tekanan balik. Setelah penyetelan, buka halaman O&M > Deployments dan periksa apakah metrik Busy operator sink dan tekanan balik upstream membaik. Nilai dalam contoh ini hanya sebagai referensi dan tidak menjamin hasil yang sama untuk pekerjaan Anda.

Parallelisme operator, strategi chaining, dan Pengaturan Waktu Kedaluwarsa Status

Catatan

Mengonfigurasi State Expiration Time Settings hanya didukung pada Ververica Runtime (VVR) versi 8.0.7 dan yang lebih baru.

Anda dapat mengonfigurasi parallelisme, strategi chaining, dan State Expiration Time Settings untuk operator individual.

  1. Klik ikon Expand image pada kotak VERTEX target.

    Setelah diperluas, kotak VERTEX menampilkan setiap node operator, nilai PARALLELISM-nya, dan ikon Edit di samping setiap operator.

    Catatan

    Anda dapat mengklik ikon Edit Edit pada VERTEX untuk mengatur parallelisme semua operator dalam VERTEX tersebut secara batch.

  2. Klik ikon Edit image untuk operator tersebut.

  3. Konfigurasikan sumber daya operator.

    Tabel berikut menjelaskan parameter-parameter tersebut.

    Parameter

    Deskripsi

    Parallelism

    Parallelisme untuk operator tersebut.

    Chaining strategy

    Chaining menghubungkan beberapa operator menjadi satu task, meningkatkan performa dengan mengurangi overhead transfer dan serialisasi data. Namun, Anda dapat memutus rantai untuk mendapatkan kendali lebih detail atas alur eksekusi. Strategi berikut tersedia:

    • ALWAYS (Default): Operator selalu dapat dirantai dengan operator upstream dan downstream.

    • HEAD: Operator saat ini bertindak sebagai kepala rantai. Tidak dirantai dengan operator upstream tetapi tetap dirantai dengan operator downstream.

    • NEVER: Operator saat ini tidak dirantai dengan operator upstream maupun downstream.

    State Expiration Time Settings

    Anda dapat mengatur waktu kedaluwarsa dalam satuan detik, menit, jam, atau hari. Secara default, operator mewarisi waktu kedaluwarsa status pekerjaan, yang default-nya adalah 1,5 hari. Untuk mengonfigurasi waktu kedaluwarsa tingkat pekerjaan, lihat Konfigurasi parameter running.

    Catatan
    • Fitur ini hanya didukung pada Ververica Runtime (VVR) versi 8.0.7 dan yang lebih baru.

    • Konfigurasi TTL hanya didukung untuk operator stateful.

    • Kedaluwarsa status adalah 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.

  4. Klik OK.

FAQ

Apakah mengatur parallelism sama dengan mengonsumsi jumlah CU yang sama?

Tidak. Parallelism mengacu pada jumlah task konkuren yang berjalan dalam suatu pekerjaan. CU (Compute Unit) adalah unit penagihan dan sumber daya yang digunakan oleh Realtime Compute for Apache Flink. Keduanya tidak memiliki hubungan 1:1.

Total konsumsi CU dihitung dengan rumus berikut:

Total konsumsi CU = Parallelism × CU per task

CU yang dikonsumsi setiap task ditentukan oleh spesifikasi sumber daya per slot yang dikonfigurasi untuk pekerjaan. Meningkatkan parallelisme meningkatkan total konsumsi CU, tetapi peningkatannya proporsional terhadap spesifikasi CU per task, bukan rasio sederhana 1:1.

Mengapa SET 'parallelism.default' tidak berlaku pada pekerjaan SQL?

Menggunakan SET 'parallelism.default' = 'N'; secara langsung dalam pernyataan pekerjaan SQL tidak efektif di Realtime Compute for Apache Flink. Untuk mengonfigurasi parallelisme, gunakan salah satu metode berikut:

  1. Atur parallelisme dalam klausa WITH pernyataan SQL yang relevan.

  2. Modifikasi parallelisme di antarmuka pengeditan konfigurasi sumber daya pada halaman O&M > Deployments.

Apa yang harus saya lakukan ketika Print Sink atau operator Join menyebabkan sumber daya tidak mencukupi atau performa buruk?

Tindakan yang tepat bergantung pada gejala spesifiknya:

  • Print Sink menyebabkan kekurangan sumber daya TaskManager — Masalah ini tidak dapat diselesaikan hanya dengan penyetelan parameter. Evaluasi kebutuhan sumber daya Anda berdasarkan volume data aktual, verifikasi bahwa tipe field tabel sumber telah didefinisikan dengan benar (misalnya, gunakan BIGINT alih-alih STRING jika sesuai), dan alokasikan sumber daya TaskManager yang cukup untuk mendukung overhead debugging Print Sink.

  • Performa Join buruk meskipun pemanfaatan memori rendah — Tingkatkan jumlah CU. Namun, jika akar penyebabnya adalah kesenjangan data, menambahkan lebih banyak sumber daya mungkin tidak menyelesaikan masalah. Selesaikan masalah kesenjangan data terlebih dahulu, lalu evaluasi apakah sumber daya tambahan diperlukan.

  • Pekerjaan sering restart dengan latensi end-to-end tinggi — Jika pekerjaan berada dalam fase sinkronisasi status penuh setelah restart tanpa status, coba atur jumlah slot menjadi 1, konfigurasi parallelisme yang sesuai secara terpisah, dan gunakan spesifikasi TaskManager 1-core 4 GiB dengan konkurensi moderat (misalnya, 10) untuk menguji dan mengoptimalkan performa.

Dokumen terkait