Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemecahan Masalah MSK Sebagai Sumber
Bagian ini menjelaskan langkah-langkah pemecahan masalah umum saat menggunakan MSK Sebagai Sumber
catatan
Untuk mengatasi masalah pemrosesan, transformasi, atau pengiriman S3, silakan lihat bagian sebelumnya
Pembuatan selang gagal
Periksa hal berikut jika selang Anda dengan MSK As Source gagal dibuat:
-
Periksa apakah cluster MSK sumber dalam keadaan aktif.
-
Jika Anda menggunakan konektivitas Private, pastikan Private Link pada cluster diaktifkan.
Jika Anda menggunakan konektivitas Publik, pastikan akses Publik di klaster diaktifkan.
-
Jika Anda menggunakan Konektivitas pribadi, pastikan Anda menambahkan kebijakan berbasis sumber daya yang memungkinkan Firehose membuat Tautan Pribadi. Lihat juga: Izin lintas akun MSK.
-
Pastikan bahwa peran dalam konfigurasi sumber memiliki izin untuk menyerap data dari Topik klaster.
-
Pastikan grup keamanan VPC Anda mengizinkan lalu lintas masuk pada port yang digunakan oleh server bootstrap cluster.
Selang Ditangguhkan
Periksa hal berikut jika selang Anda dalam keadaan SUSPEND
-
Periksa apakah cluster MSK sumber dalam keadaan aktif.
-
Periksa apakah topik sumber ada. Jika topik telah dihapus dan dibuat ulang, Anda harus menghapus dan membuat ulang aliran Firehose juga.
Selang Backpresurred
Nilai DataReadFromSource .Backpressured akan menjadi 1 ketika BytesPerSecondLimit per partisi terlampaui atau bahwa aliran pengiriman normal lambat atau berhenti.
-
Jika Anda menekan BytesPerSecondLimit silakan periksa metrik DataReadFromSource .Bytes dan minta kenaikan batas.
-
Periksa CloudWatch log, metrik tujuan, metrik Transformasi Data, dan metrik Konversi Format untuk mengidentifikasi kemacetan.
Kesegaran Data Salah
Kesegaran data tampaknya salah
-
Firehose menghitung kesegaran data berdasarkan stempel waktu dari catatan yang dikonsumsi. Untuk memastikan bahwa stempel waktu ini direkam dengan benar ketika catatan produser disimpan di log broker Kafka, atur konfigurasi tipe stempel waktu topik Kafka menjadi.
message.timestamp.type=LogAppendTime
Masalah koneksi kluster MSK
Prosedur berikut menjelaskan bagaimana Anda dapat memvalidasi konektivitas ke kluster MSK. Untuk detail tentang pengaturan klien MSK Amazon, lihat Memulai menggunakan MSK Amazon di Panduan Pengembang Amazon Managed Streaming for Apache Kafka.
Untuk memvalidasi konektivitas ke kluster MSK
Buat instance AL2 Amazon EC2 berbasis Unix (lebih disukai). Jika Anda hanya mengaktifkan konektivitas VPC di cluster Anda, pastikan EC2 instance Anda berjalan di VPC yang sama. SSH ke dalam instance setelah tersedia. Untuk informasi lebih lanjut, lihat tutorial ini di Panduan EC2 Pengguna Amazon.
Instal Java menggunakan manajer paket Yum dengan menjalankan perintah berikut. Untuk informasi selengkapnya, lihat petunjuk penginstalan di Panduan Pengguna Amazon Corretto 8.
sudo yum install java-1.8.0Instal AWS klien
dengan menjalankan perintah berikut. curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/installUnduh versi Apache Kafka client 2.6* dengan menjalankan perintah berikut.
wget https://archive.apache.org/dist/kafka/2.6.2/kafka_2.12-2.6.2.tgz tar -xzf kafka_2.12-2.6.2.tgz-
Buka
kafka_2.12-2.6.2/libsdirektori, lalu jalankan perintah berikut untuk mengunduh file Amazon MSK IAM JAR.wget https://github.com/aws/aws-msk-iam-auth/releases/download/v1.1.3/aws-msk-iam-auth-1.1.3-all.jar -
Buat
client.propertiesfile di folder bin Kafka. -
Ganti
awsRoleArndengan peran ARN yang telah Anda gunakan di Firehose AndaSourceConfigurationdan verifikasi lokasi sertifikat. Izinkan pengguna AWS klien Anda untuk mengambil peranawsRoleArn. AWS pengguna klien akan mencoba untuk mengambil peran yang Anda tentukan di sini.[ec2-user@ip-xx-xx-xx-xx bin]$ cat client.properties security.protocol=SASL_SSL sasl.mechanism=AWS_MSK_IAM sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required awsRoleArn="<role arn>" awsStsRegion="<region name>"; sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler awsDebugCreds=true ssl.truststore.location=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.amzn2.0.1.x86_64/jre/lib/security/cacerts ssl.truststore.password=changeit Jalankan perintah Kafka berikut untuk membuat daftar topik. Jika koneksi Anda bersifat publik, gunakan server Bootstrap titik akhir publik. Jika koneksi Anda bersifat pribadi, gunakan server Bootstrap endpoint pribadi.
bin/kafka-topics.sh --list --bootstrap-server<bootstrap servers>--command-config bin/client.propertiesJika permintaan berhasil, Anda akan melihat output yang mirip dengan contoh berikut.
[ec2-user@ip-xx-xx-xx-xx kafka_2.12-2.6.2]$ bin/kafka-topics.sh --list --bootstrap-server<bootstrap servers>--command-config bin/client.properties [xxxx-xx-xx 05:49:50,877] WARN The configuration 'awsDebugCreds' was supplied but isn't a known config. (org.apache.kafka.clients.admin.AdminClientConfig) [xxxx-xx-xx 05:49:50,878] WARN The configuration 'ssl.truststore.location' was supplied but isn't a known config. (org.apache.kafka.clients.admin.AdminClientConfig) [xxxx-xx-xx 05:49:50,878] WARN The configuration 'sasl.jaas.config' was supplied but isn't a known config. (org.apache.kafka.clients.admin.AdminClientConfig) [xxxx-xx-xx 05:49:50,878] WARN The configuration 'sasl.client.callback.handler.class' was supplied but isn't a known config. (org.apache.kafka.clients.admin.AdminClientConfig) [xxxx-xx-xx 05:49:50,878] WARN The configuration 'ssl.truststore.password' was supplied but isn't a known config. (org.apache.kafka.clients.admin.AdminClientConfig) [xxxx-xx-xx 05:50:21,629] WARN [AdminClient clientId=adminclient-1] Connection to node... __amazon_msk_canary __consumer_offsetsJika Anda memiliki masalah dalam menjalankan skrip sebelumnya, verifikasi bahwa server bootstrap yang Anda berikan dapat dijangkau pada port yang ditentukan. Untuk melakukan ini, Anda dapat mengunduh dan menggunakan telnet atau utilitas serupa seperti yang ditunjukkan pada perintah berikut.
sudo yum install telnet telnet<bootstrap servers><port>Jika permintaan berhasil, Anda akan mendapatkan output berikut. Ini berarti bahwa Anda dapat terhubung ke cluster MSK Anda dalam VPC lokal Anda dan server bootstrap sehat pada port yang ditentukan.
Connected to ..Jika permintaan tidak berhasil, periksa aturan masuk pada grup keamanan VPC Anda. Sebagai contoh, Anda dapat menggunakan properti berikut pada aturan masuk.
Type: All traffic Port: Port used by the bootstrap server (e.g. 14001) Source: 0.0.0.0/0Coba lagi koneksi telnet seperti yang ditunjukkan pada langkah sebelumnya. Jika Anda masih tidak dapat terhubung atau koneksi Firehose Anda masih gagal, hubungi dukungan.AWS