Flink merupakan salah satu mesin pemrosesan aliran paling aktif saat ini dengan pembaruan versi yang relatif sering. Melakukan upgrade pekerjaan ke versi yang lebih baru memungkinkan Anda memanfaatkan fitur dan kemampuan terbaru. Topik ini menjelaskan cara melakukan peningkatan versi mesin untuk pekerjaan Realtime Compute for Apache Flink.
Catatan penting
Sebelum merilis versi mesin baru, Realtime Compute for Apache Flink melakukan pengujian kompatibilitas secara ekstensif. Secara umum, upgrade antar versi minor dalam versi utama yang sama bersifat kompatibel, sedangkan upgrade lintas versi utama tidak dijamin kompatibel. Untuk detail mengenai nomor versi mesin dan kompatibilitas Savepoint antar versi Flink, lihat Nomor versi mesin dan maknanya serta Tabel Kompatibilitas.
Saat mengganti versi pekerjaan, perhatikan hal-hal berikut:
-
Status (state) kompatibel selama upgrade versi minor. Anda dapat menggunakan checkpoint sistem atau snapshot pekerjaan yang dibuat sebelum pergantian versi. Misalnya, beralih dari vvr-4.0.15-flink-1.13 ke vvr-4.0.18-flink-1.13.
-
Status (state) tidak kompatibel selama pergantian versi utama. Anda harus me-restart pekerjaan secara tanpa status (stateless). Misalnya, beralih dari vvr-4.0.15-flink-1.13 ke vvr-6.0.2-flink-1.15.
-
Versi dependensi terkait Flink dalam pekerjaan SQL atau DataStream Anda harus sesuai dengan versi Flink yang dipilih untuk pekerjaan tersebut.
-
Mulai Flink 1.13.0, komunitas mengadopsi BlinkPlanner—yang disumbangkan oleh Alibaba—sebagai SQL Planner default. Hal ini memperkenalkan beberapa perbedaan dibandingkan versi sebelumnya. Untuk detailnya, lihat pengumuman rilis Apache Flink 1.13.0. Oleh karena itu, saat migrasi dari versi Flink komunitas sebelum 1.13.0 ke VVR 4.0 (berbasis Flink 1.13.0) atau versi lebih baru di Realtime Compute for Apache Flink, Anda mungkin mengalami ketidakcocokan sintaksis dan API.
Prosedur peningkatan
Langkah 1: Backup pekerjaan dan deploy pekerjaan baru
Untuk memastikan stabilitas pekerjaan, klon pekerjaan yang ada untuk membuat pekerjaan baru yang identik, lalu lakukan peningkatan versi mesin pada pekerjaan baru tersebut.
SQL
-
Masuk ke Konsol Realtime Compute. Klik Console di kolom Actions untuk ruang kerja target Anda.
-
Ganti pekerjaan baru ke versi mesin yang baru.
Saat menggunakan versi baru, pilih versi STABLE atau RECOMMENDED. Versi-versi ini memperbaiki bug dan masalah yang diketahui dari versi lain, menawarkan fitur terbaru, serta memberikan jaminan stabilitas yang lebih kuat.
-
Klik More Settings di sisi kanan editor pekerjaan baru. Ganti Engine Version, lalu klik Deploy di pojok kanan atas.
-
Di halaman , klik nama pekerjaan target. Di tab Deployment Details, di bawah Basic Configuration, verifikasi bahwa versi pekerjaan yang telah dideploy berhasil berpindah.
Periksa bidang Engine Version untuk memastikan menampilkan versi target (misalnya,
vvr-8.0.9-flink-1.17).
-
DataStream
-
Klik Deploy.
Langkah 2: Backup status pekerjaan
Di halaman , klik pekerjaan target. Di tab State Set Management pada detail pekerjaan, lihat kumpulan status pekerjaan. Untuk informasi lebih lanjut, lihat Ikhtisar pembuatan status.
-
Jika pekerjaan Anda melakukan komputasi stateful, pertimbangkan apakah status tersebut dapat digunakan kembali selama upgrade.
Sebelum melakukan upgrade, buat snapshot pekerjaan secara manual agar Anda dapat segera rollback jika terjadi masalah. Untuk petunjuknya, lihat Membuat snapshot pekerjaan secara manual.
Penting-
Secara umum, upgrade antar versi minor dalam versi utama yang sama bersifat kompatibel. Upgrade lintas versi utama tidak dijamin kompatibel. Jika kompatibel, versi mesin baru dapat membaca snapshot yang dihasilkan oleh versi lama—namun belum tentu sebaliknya.
-
Mulai VVR 6.x, sistem mendukung dua format snapshot: native dan standard. Format native menghasilkan snapshot lebih cepat, sedangkan format standard menawarkan kompatibilitas yang lebih baik. Jika melakukan upgrade ke versi minor yang lebih tinggi dalam versi utama yang sama, gunakan format native. Jika melakukan upgrade ke versi utama yang lebih tinggi, gunakan format standard.
-
-
Jika pekerjaan Anda tanpa status (stateless), lanjutkan ke langkah berikutnya.
(Opsional) Langkah 3: Hentikan pekerjaan asli
Di halaman , klik Stop di kolom Actions untuk pekerjaan asli. Untuk detailnya, lihat Menghentikan pekerjaan.
Jika operasi penulisan downstream Anda bersifat idempoten atau bisnis Anda dapat mentolerir data duplikat, pertimbangkan untuk menjalankan pekerjaan lama dan baru secara bersamaan.
Langkah 4: Jalankan pekerjaan baru
-
Jika pekerjaan Anda stateful: Di bawah Stateful Start, pilih Restore from Specified State dan pilih snapshot yang dibuat dari pekerjaan asli.
-
Jika pekerjaan Anda tanpa status (stateless), pilih Stateless untuk menjalankan pekerjaan baru.
Untuk langkah startup detail, lihat Menjalankan pekerjaan.
Langkah 5: Pantau perilaku produksi dan hapus pekerjaan asli
Umumnya, jika pekerjaan yang telah di-upgrade berhasil dijalankan dan menyelesaikan checkpoint sistem pertamanya, upgrade tersebut dianggap berhasil secara awal. Namun, verifikasi kebenaran data bisnis Anda untuk memastikan integritas upgrade sepenuhnya.
Setelah memastikan pekerjaan berjalan normal dan data benar, hapus secara manual snapshot dan pekerjaan sebelum upgrade. Untuk petunjuk menghapus snapshot, lihat Menghapus snapshot pekerjaan tertentu secara manual.
Rollback setelah kegagalan upgrade
Jika pekerjaan gagal dijalankan atau menghasilkan data yang salah setelah upgrade, segera hentikan pekerjaan tersebut, kembalikan ke versi mesin sebelum upgrade, dan pulihkan operasi menggunakan snapshot yang disimpan sebelum upgrade. Selain itu, kirim tiket untuk melaporkan masalah tersebut.
Jika Anda tidak dapat memantau seluruh proses upgrade, konfigurasikan notifikasi kegagalan pekerjaan agar menerima pemberitahuan segera jika terjadi anomali dan mencegah dampak pada bisnis. Untuk petunjuknya, lihat Mengonfigurasi Pemantauan.