全部产品
Search
文档中心

ApsaraMQ for Kafka:Apa yang harus saya lakukan jika terjadi kesalahan pada klien saat menggunakan ApsaraMQ for Kafka?

更新时间:Jan 13, 2026

Jika terjadi kesalahan pada klien saat menggunakan ApsaraMQ for Kafka, Anda dapat menangani masalah tersebut berdasarkan pesan kesalahan yang diberikan.

Solusi

Tabel berikut menjelaskan jenis kesalahan klien beserta solusi yang sesuai untuk setiap kesalahan.

Pesan kesalahan

Bahasa pemrograman

Penyebab

Solusi

TimeoutException

Java

  • Masalah jaringan

  • Kegagalan autentikasi klien (sasl.mechanisms)

Catatan

Kesalahan ini hanya dilaporkan pada instance ApsaraMQ for Kafka yang terhubung melalui Internet.

  • Pastikan server dikonfigurasi dengan benar.

  • Jalankan perintah telnet untuk memeriksa koneksi jaringan.

  • Jika koneksi jaringan normal, periksa apakah autentikasi berhasil. Untuk informasi lebih lanjut, lihat topik berikut:

    Catatan

    Solusi ini hanya berlaku untuk instance ApsaraMQ for Kafka yang terhubung melalui Internet.

run out of brokers

Go

Authentication failed for user

Python

Leader is not available

Semua

Kesalahan ini dilaporkan sementara saat topik diinisialisasi. Jika kesalahan terus berlanjut, kemungkinan topik tidak ada.

  1. Masuk ke ApsaraMQ for Kafkaconsole.

  2. Periksa apakah topik ada.

  3. Jika topik tidak ada, buat topik. Untuk informasi tentang cara membuat topik, lihat Langkah 1: Membuat topik.

leader is in election

array index out of bound exception

Java

Spring Cloud menggunakan format bawaan untuk mengurai pesan.

Solusi berikut disediakan:

  • Kami sarankan Anda menggunakan Spring Cloud Stream untuk mengirim dan mengonsumsi pesan.

  • Jika Anda menggunakan metode lain untuk mengirim pesan tetapi menggunakan Spring Cloud Stream untuk mengonsumsi pesan, atur parameter headerMode menjadi raw untuk menonaktifkan penguraian pesan. Sebagai contoh, Anda memanggil klien Java asli untuk mengirim pesan tetapi menggunakan Spring Cloud Stream untuk mengonsumsi pesan. Untuk informasi lebih lanjut, lihat Panduan Referensi Spring Cloud Stream.

No such configuration property: "sasl.mechanisms"

  • C++

  • Klien yang menggunakan C++ sebagai bahasa pemrograman inti, seperti PHP dan Node.js.

Modul Simple Authentication and Security Layer (SASL) dan Secure Sockets Layer (SSL) tidak diinstal atau tidak diinstal dengan benar.

Jalankan perintah berikut untuk menginstal modul SASL dan SSL:

Catatan

Dalam contoh ini, sistem CentOS digunakan. Untuk OS lainnya, lihat situs resmi atau gunakan mesin pencari pihak ketiga untuk mencari informasi terkait.

  • SSL: sudo yum install openssl openssl-devel

  • SASL: sudo yum install cyrus-sasl{,-plain}

No worthy mechs found

No KafkaClient Entry

Java

File konfigurasi kafka_client_jaas.conf tidak ditemukan.

Siapkan file kafka_client_jaas.conf dan simpan file tersebut di direktori, seperti /home/admin. Pengaturan keamanan logon klien Java dikonfigurasi dalam sistem. Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi pengaturan:

  • Konfigurasikan variabel sistem.

    • Konfigurasikan variabel sistem dengan mengatur parameter Java Virtual Machine (JVM): -Djava.security.auth.login.config=/home/admin/kafka_client_jaas.conf.

    • Konfigurasikan variabel sistem dalam kode: System.setProperty("java.security.auth.login.config","/home/admin/kafka_client_jaas.conf").

      Catatan

      Jika Anda mengonfigurasi variabel sistem dalam kode, pastikan kode dapat dieksekusi sebelum Anda memulai klien.

  • Tambahkan file sistem: Tambahkan file login.config.url.1=file:/home/admin/kafka_client_jaas.conf ke ${JAVA_HOME}/jre/lib/java.security.

Untuk informasi lebih lanjut, lihat File Konfigurasi Login JAAS.

Error sending fetch request

Java

Pesan gagal ditarik oleh konsumen. Penyebab yang mungkin:

  • Masalah jaringan

  • Waktu habis saat menarik pesan

  1. Pastikan server dikonfigurasi dengan benar.

  2. Jalankan perintah telnet untuk memeriksa koneksi jaringan.

  3. Jika koneksi jaringan normal, penarikan pesan mungkin waktu habis. Anda dapat memodifikasi parameter berikut untuk membatasi jumlah pesan yang dapat ditarik setiap kali.

    • fetch.max.bytes: jumlah maksimum byte yang dikembalikan oleh broker dari satu tarikan.

    • max.partition.fetch.bytes: jumlah maksimum byte yang dikembalikan oleh satu partisi pada broker dari satu tarikan.

  4. Trafik mungkin dibatasi pada broker. Anda dapat melihat detailnya di halaman Instance Details di ApsaraMQ for Kafkaconsole.

    • Jika instansi terhubung dalam virtual private cloud (VPC), lihat nilai parameter Spesifikasi Trafik.

    • Jika instansi terhubung melalui Internet, lihat nilai parameter Trafik Publik.

DisconnectException

CORRUPT_MESSAGE

Semua

  • Penyimpanan awan: Jika versi klien Anda adalah 3.0 atau lebih baru, fitur idempotensi diaktifkan secara otomatis. Namun, fitur idempotensi tidak didukung oleh penyimpanan awan.

  • Penyimpanan lokal: Kunci pesan tidak ditentukan saat Anda menjalankan perintah kompaksi log.

  • Penyimpanan awan: Atur parameter enable.idempotence menjadi false di klien.

  • Penyimpanan lokal: Tentukan nilai kunci pesan.