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.
Masalah aplikasi
Bagian ini berisi solusi untuk kondisi kesalahan yang mungkin Anda temui dengan Layanan Terkelola untuk aplikasi Apache Flink Anda.
Topik
- Aplikasi terjebak dalam status sementara
- Pembuatan snapshot gagal
- Tidak dapat mengakses sumber daya di VPC
- Data hilang saat menulis ke bucket Amazon S3
- Aplikasi dalam RUNNING status tetapi tidak memproses data
- Snapshot, pembaruan aplikasi, atau kesalahan penghentian aplikasi: InvalidApplicationConfigurationException
- java.nio.file. NoSuchFileException: /usr/lokal/openjdk-8/lib/keamanan/cacerts
Aplikasi terjebak dalam status sementara
Jika aplikasi Anda tetap dalam status transien (STARTING
,, UPDATING
STOPPING
, atauAUTOSCALING
), Anda dapat menghentikan aplikasi Anda dengan menggunakan StopApplicationtindakan dengan Force
parameter yang disetel ke. true
Anda tidak dapat menghentikan paksa aplikasi di status DELETING
. Atau, jika aplikasi dalam status UPDATING
atau AUTOSCALING
, Anda dapat mengembalikannya ke versi berjalan sebelumnya. Ketika Anda mengembalikan aplikasi, data status dari snapshot terakhir yang berhasil akan dimuat. Jika aplikasi tidak memiliki snapshot, Managed Service for Apache Flink menolak permintaan rollback. Untuk informasi selengkapnya tentang memutar kembali aplikasi, lihat RollbackApplicationtindakan.
catatan
Menghentikan paksa aplikasi Anda dapat menyebabkan kehilangan data atau duplikasi. Untuk mencegah kehilangan data atau menduplikasi pemrosesan data selama aplikasi dimulai ulang, sebaiknya ambil snapshot yang sering dari aplikasi Anda.
Penyebab aplikasi terhenti mencakup berikut ini:
-
Status aplikasi terlalu besar: Memiliki status aplikasi yang terlalu besar atau terlalu persisten dapat menyebabkan aplikasi terhenti selama operasi titik pemeriksaan atau snapshot. Periksa metrik
lastCheckpointDuration
danlastCheckpointSize
aplikasi Anda untuk nilai yang terus meningkat atau nilai tinggi yang tidak normal. -
Kode aplikasi terlalu besar: Verifikasi bahwa JAR file aplikasi Anda lebih kecil dari 512 MB. JARfile yang lebih besar dari 512 MB tidak didukung.
-
Pembuatan snapshot aplikasi gagal: Layanan Terkelola untuk Apache Flink mengambil snapshot aplikasi selama permintaan atau permintaan.
UpdateApplication
StopApplication
Layanan selanjutnya menggunakan status snapshot ini dan mengembalikan aplikasi menggunakan konfigurasi aplikasi yang diperbarui untuk memberikan semantik pemrosesan exactly-once. Jika pembuatan snapshot otomatis gagal, lihat Pembuatan snapshot gagal di bawah ini. -
Memulihkan dari snapshot gagal: Jika Anda menghapus atau mengubah operator dalam pembaruan aplikasi dan mencoba memulihkan dari snapshot, pemulihan akan gagal secara default jika snapshot berisi data status untuk operator yang hilang. Selain itu, aplikasi akan terhenti di status
STOPPED
atauUPDATING
. Untuk mengubah perilaku ini dan memungkinkan pemulihan berhasil, ubah AllowNonRestoredStateparameter aplikasi FlinkRunConfigurationmenjaditrue
. Ini akan memungkinkan operasi lanjutkan melewati data status yang tidak dapat dipetakan ke program baru. -
Inisialisasi aplikasi memakan waktu lebih lama: Layanan Terkelola untuk Apache Flink menggunakan batas waktu internal 5 menit (pengaturan lunak) sambil menunggu pekerjaan Flink dimulai. Jika pekerjaan Anda gagal untuk memulai dalam batas waktu ini, Anda akan melihat CloudWatch log sebagai berikut:
Flink job did not start within a total timeout of 5 minutes for application: %s under account: %s
Jika Anda mengalami kesalahan di atas, itu berarti operasi Anda yang ditentukan di bawah
main
metode pekerjaan Flink memakan waktu lebih dari 5 menit, menyebabkan pembuatan pekerjaan Flink habis pada Layanan Terkelola untuk Apache Flink berakhir. Kami sarankan Anda memeriksa JobManagerlog Flink serta kode aplikasi Anda untuk melihat apakah penundaan dalammain
metode ini diharapkan. Jika tidak, Anda perlu mengambil langkah-langkah untuk mengatasi masalah ini sehingga selesai dalam waktu kurang dari 5 menit.
Anda dapat memeriksa status aplikasi Anda menggunakan tindakan ListApplications
atau DescribeApplication
.
Pembuatan snapshot gagal
Layanan Terkelola untuk layanan Apache Flink tidak dapat mengambil snapshot dalam keadaan berikut:
Aplikasi melebihi batas snapshot. Batas untuk snapshot adalah 1.000. Untuk informasi selengkapnya, lihat Kelola cadangan aplikasi menggunakan snapshot.
Aplikasi tidak memiliki izin untuk mengakses sumber atau sink.
Kode aplikasi tidak berfungsi dengan benar.
Aplikasi mengalami masalah konfigurasi lainnya.
Jika Anda mendapatkan pengecualian saat mengambil snapshot selama pembaruan aplikasi atau saat menghentikan aplikasi, atur properti SnapshotsEnabled
dari ApplicationSnapshotConfiguration
aplikasi Anda ke false
dan coba lagi permintaan.
Snapshot dapat gagal jika operator aplikasi Anda tidak disediakan dengan benar. Untuk informasi tentang penyetelan performa operator, lihat Penskalaan operator.
Setelah aplikasi kembali ke status sehat, sebaiknya atur properti SnapshotsEnabled
aplikasi ke true
.
Tidak dapat mengakses sumber daya di VPC
Jika aplikasi Anda menggunakan VPC berjalan di AmazonVPC, lakukan hal berikut untuk memverifikasi bahwa aplikasi Anda memiliki akses ke sumber dayanya:
-
Periksa CloudWatch log Anda untuk kesalahan berikut. Kesalahan ini menunjukkan bahwa aplikasi Anda tidak dapat mengakses sumber daya diVPC:
org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
Jika Anda melihat kesalahan ini, pastikan tabel rute Anda diatur dengan benar, dan konektor Anda memiliki pengaturan koneksi yang benar.
Untuk informasi tentang menyiapkan dan menganalisis CloudWatch log, lihatPencatatan dan pemantauan di Amazon Managed Service untuk Apache Flink.
Data hilang saat menulis ke bucket Amazon S3
Beberapa kehilangan data mungkin terjadi ketika menulis output ke bucket Amazon S3 menggunakan Apache Flink versi 1.6.2. Sebaiknya gunakan versi Apache Flink terbaru yang didukung ketika menggunakan Amazon S3 untuk output langsung. Untuk menulis ke bucket Amazon S3 menggunakan Apache Flink 1.6.2, sebaiknya gunakan Firehose. Untuk informasi selengkapnya tentang penggunaan Firehose dengan Managed Service for Apache Flink, lihat. Wastafel Firehose
Aplikasi dalam RUNNING status tetapi tidak memproses data
Anda dapat memeriksa status aplikasi Anda menggunakan tindakan ListApplications
atau DescribeApplication
. Jika aplikasi Anda memasukkan RUNNING
status tetapi tidak menulis data ke wastafel Anda, Anda dapat memecahkan masalah dengan menambahkan aliran CloudWatch log Amazon ke aplikasi Anda. Untuk informasi selengkapnya, lihat Bekerja dengan opsi CloudWatch pencatatan aplikasi. Aliran log berisi pesan yang dapat Anda gunakan untuk memecahkan masalah aplikasi.
Snapshot, pembaruan aplikasi, atau kesalahan penghentian aplikasi: InvalidApplicationConfigurationException
Kesalahan yang mirip dengan berikut ini mungkin terjadi selama operasi snapshot, atau selama operasi yang membuat snapshot, seperti memperbarui atau menghentikan aplikasi:
An error occurred (InvalidApplicationConfigurationException) when calling the UpdateApplication operation: Failed to take snapshot for the application xxxx at this moment. The application is currently experiencing downtime. Please check the application's CloudWatch metrics or CloudWatch logs for any possible errors and retry the request. You can also retry the request after disabling the snapshots in the Managed Service for Apache Flink console or by updating the ApplicationSnapshotConfiguration through the AWS SDK
Kesalahan ini terjadi ketika aplikasi tidak dapat membuat snapshot.
Jika Anda mengalami kesalahan ini selama operasi snapshot atau operasi yang membuat snapshot, lakukan hal berikut:
-
Nonaktifkan snapshot untuk aplikasi Anda. Anda dapat melakukan ini baik di Managed Service for Apache Flink console, atau dengan menggunakan
SnapshotsEnabledUpdate
parameter tindakan. UpdateApplication -
Selidiki alasan snapshot tidak dapat dibuat. Untuk informasi selengkapnya, lihat Aplikasi terjebak dalam status sementara.
-
Aktifkan kembali snapshot ketika aplikasi kembali ke status sehat.
java.nio.file. NoSuchFileException: /usr/lokal/openjdk-8/lib/keamanan/cacerts
Lokasi SSL truststore telah diperbarui dalam penerapan sebelumnya. Sebagai gantinya, gunakan nilai berikut untuk parameter ssl.truststore.location
:
/usr/lib/jvm/java-11-amazon-corretto/lib/security/cacerts