Memecahkan masalah konektor MirrorMaker 2.0

Dokumen ini memberikan panduan pemecahan masalah untuk masalah umum yang terjadi saat menggunakan konektor MirrorMaker 2.0.

Error umum MirrorMaker 2.0

Bagian ini mencantumkan error umum yang mungkin Anda lihat saat menggunakan konektor MirrorMaker 2.0.

Waktu tunggu penetapan node habis

Jika cluster Connect tidak dapat mengakses cluster Kafka, Anda akan mendapatkan error berikut:

Timed out waiting for a node assignment.

Penyebab error ini meliputi:

  • Cluster Connect tidak dapat melakukan autentikasi dengan cluster Kafka. Periksa parameter autentikasi dalam konfigurasi konektor. Untuk mengetahui informasi selengkapnya, lihat Membuat konektor MirrorMaker 2.0.

  • Masalah jaringan mencegah cluster Connect menjangkau cluster Kafka. Ikuti langkah-langkah di Memecahkan masalah jaringan.

Resolusi DNS gagal

Jika cluster Connect tidak dapat menyelesaikan alamat bootstrap, Anda akan mendapatkan error berikut:

No resolvable bootstrap urls given in bootstrap.servers

Anda mungkin juga mendapatkan error yang serupa dengan berikut ini:

Couldn't resolve server BOOTSTRAP_ADDRESS from bootstrap.servers as DNS resolution failed for BOOTSTRAP_ADDRESS

Untuk mengatasi masalah ini, pastikan terlebih dahulu bahwa alamat bootstrap sudah benar. Jika ya, ikuti langkah-langkah di Memecahkan masalah resolusi nama domain.

Kredensial tidak valid

Jika cluster Connect tidak dapat melakukan autentikasi dengan salah satu cluster Kafka, Anda akan mendapatkan error yang mirip dengan berikut ini:

org.apache.kafka.clients.NetworkClient processDisconnection
SEVERE: [AdminClient clientId=source->target|mm2|offset-syncs-source-admin] Connection to
node 11 (broker-1.BOOTSTRAP_ADDRESS/IP_ADDRESS:9092) failed authentication due to: Authentication
failed during authentication due to invalid credentials with SASL mechanism OAUTHBEARER

Kemungkinan penyebab error ini meliputi:

  • Akun Layanan Kafka Terkelola untuk satu atau kedua cluster tidak memiliki peran Agen Layanan Kafka Terkelola.

    Untuk setiap cluster Managed Service for Apache Kafka, berikan peran IAM Managed Kafka Service Agent ke Akun Layanan Managed Kafka untuk project cluster tersebut. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi jaringan Managed Service untuk Apache Kafka.

  • Autentikasi ke cluster eksternal atau yang dikelola sendiri gagal.

    Untuk cluster Kafka yang dikelola sendiri atau eksternal, pastikan properti autentikasi sudah benar untuk cluster. Detailnya bergantung pada penyiapan cluster Anda. Untuk mengetahui informasi selengkapnya, lihat Membuat konektor MirrorMaker 2.

  • Cluster tidak berada di dalam perimeter Kontrol Layanan VPC yang sama.

    Jika Anda menggunakan Kontrol Layanan VPC untuk mengisolasi cluster Kafka, pastikan cluster berada di dalam perimeter yang sama. Untuk mengetahui informasi selengkapnya, lihat Ringkasan Kontrol Layanan VPC.

Operasi ditolak untuk akun utama

Jika Anda membuat daftar kontrol akses (ACL) Apache Kafka, dan ACL tidak memberikan izin baca dan tulis ke Akun Layanan Managed Kafka, Anda akan mendapatkan error yang mirip dengan berikut ini:

Principal = User:SERVICE_ACCOUNT is Denied operation = OPERATION from host = HOST
on resource = Topic:LITERAL:TOPIC for request = TOPIC with resourceRefCount = 1 based on rule DefaultDeny

Secara default, cluster Managed Service for Apache Kafka beroperasi dengan allow.everyone.if.no.acl.found ditetapkan ke true, yang memberikan akses baca dan tulis Akun Layanan Managed Kafka ke resource cluster.

Namun, jika Anda menyetel ACL, ACL tersebut harus memberikan izin baca dan tulis ke akun layanan. Jika tidak, cluster Connect akan kehilangan izin baca dan tulis di semua topik, serta kehilangan izin baca di semua grup konsumen.

Untuk mengatasi masalah ini, tambahkan entri ACL yang memberikan izin yang diperlukan ke Akun Layanan Kafka Terkelola. Untuk melakukannya, ikuti langkah-langkah di Menambahkan entri ACL ke ACL Kafka Terkelola.

  • Pokoknya adalah User:service-PROJECT_NUMBER@gcp-sa-managedkafka.iam.gserviceaccount.com. Ganti PROJECT_NUMBER dengan nomor project Google Cloud Anda.

  • Memberikan akses baca dan tulis ke topik tertentu, serta memberikan akses baca ke grup konsumen tertentu. Untuk mengetahui informasi tentang cara menentukan resource untuk ACL, lihat ID ACL.

Pesan tidak diduplikasi

Untuk memecahkan masalah ini, periksa konfigurasi konektor. Jika Anda menggunakan cluster Kafka utama sebagai cluster sumber, tetapkan producer.override.bootstrap.servers ke alamat bootstrap cluster target.

Memecahkan masalah jaringan

Jika Anda mengalami masalah jaringan saat menggunakan konektor MirrorMaker 2.0, lakukan langkah-langkah pemecahan masalah berikut.

  • Saat terhubung ke cluster Managed Service for Apache Kafka:

    1. Cari subnet pekerja cluster Connect dan temukan jaringan VPC subnet.

    2. Lihat konfigurasi cluster Kafka utama dan temukan daftar subnet. Setidaknya satu subnet harus berada di jaringan VPC yang sama dengan subnet cluster Connect.

    3. Ulangi langkah sebelumnya untuk cluster Kafka sekunder.

    4. Pastikan aturan firewall mengizinkan antarmuka Private Service Connect untuk menjangkau cluster Kafka sumber dan target.

  • Saat terhubung ke cluster Kafka eksternal atau yang dikelola sendiri:

    1. Cari subnet pekerja cluster Connect dan temukan jaringan VPC subnet.

    2. Pastikan cluster Kafka dapat diakses dari jaringan VPC. Misalnya, Anda dapat men-deploy cluster Kafka di jaringan VPC yang sama, atau membuat cluster dapat dijangkau dari jaringan VPC menggunakan VPC Bersama atau zona DNS.

    1. Jika cluster Kafka sumber atau target diakses melalui internet, konfigurasikan Cloud NAT untuk mengizinkan pekerja cluster Connect mengakses internet.

Untuk mengetahui informasi selengkapnya tentang jaringan di Managed Service for Apache Kafka, lihat Managed Service for Apache Kafka.

Memecahkan masalah resolusi nama domain

Jika Anda mengalami masalah dengan resolusi nama domain saat menggunakan konektor MirrorMaker 2.0, lakukan langkah-langkah pemecahan masalah berikut:

  1. Cari subnet pekerja cluster Connect dan temukan jaringan VPC subnet.

  2. Di konsol Google Cloud , buka halaman Cloud DNS zones.

    Buka DNS Zones

  3. Pilih project Google Cloud yang berisi jaringan VPC.

  4. Klik Zones dan pastikan nama domain muncul di daftar zona DNS.

  5. Lihat konfigurasi cluster Connect dan temukan daftar domain DNS yang dapat di-resolve. Jika nama domain tidak tercantum, perbarui Connect cluster untuk menambahkan domain DNS. Lihat Memperbarui cluster Connect.

Langkah berikutnya