すべてのプロダクト
Search
ドキュメントセンター

ApsaraMQ for Kafka:ApsaraMQ for Kafka の使用時にクライアントでエラーが報告された場合の対処方法

最終更新日:Jan 20, 2025

ApsaraMQ for Kafka の使用時にクライアントでエラーが報告された場合は、返されたエラーメッセージに基づいてエラーをトラブルシューティングできます。

解決策

次の表は、クライアントエラーと、エラーに対する対応する解決策を示しています。

Go ブローカーが不足しています。Pythonユーザーの認証に失敗しました。Allリーダー選出中です。しばらく待ってから再試行してください。C++適切なメカニズムが見つかりません。SASL が正しくインストールされていることを確認してください。Java接続が切断されました。ネットワーク接続を確認してください。

エラーメッセージ

プログラミング言語

原因

解決策

TimeoutException

Java

  • ネットワークの問題

  • クライアント認証 (sasl.mechanisms) 失敗

説明

このエラーは、インターネット経由で接続されている ApsaraMQ for Kafka インスタンスでのみ報告されます。

  • サーバーが正しく構成されていることを確認します。

  • telnet コマンドを実行して、ネットワーク接続を確認します。

  • ネットワーク接続が正常な場合は、認証が成功したかどうかを確認します。 詳細については、以下のトピックをご参照ください。

    説明

    この解決策は、インターネット経由で接続されている ApsaraMQ for Kafka インスタンスにのみ適用されます。

run out of brokers

ブローカーを追加してください。

Authentication failed for user

正しい資格情報を使用していることを確認してください。

Leader is not available

All

このエラーは、トピックが初期化されるときに一時的に報告されます。 エラーが解決しない場合は、トピックが存在しない可能性があります。

  1. ApsaraMQ for Kafka コンソール にログインします。

  2. トピックが存在するかどうかを確認します。

  3. トピックが存在しない場合は、トピックを作成します。 トピックの作成方法については、手順 1: トピックを作成する をご参照ください。

leader is in election

array index out of bound exception

Java

Spring Cloud は、組み込みの形式を使用してメッセージを解析します。

次の解決策が提供されています。

  • Spring Cloud Stream を使用してメッセージを送受信することをお勧めします。

  • 別の方法を使用してメッセージを送信するが、Spring Cloud Stream を使用してメッセージを消費する場合は、headerMode パラメーターを raw に設定して、メッセージの解析を無効にします。 たとえば、ネイティブ Java クライアントを呼び出してメッセージを送信するが、Spring Cloud Stream を使用してメッセージを消費する場合などです。 詳細については、Spring Cloud Stream リファレンスガイド をご参照ください。

No such configuration property: "sasl.mechanisms"

  • C++

  • PHP や Node.js など、C++ をコアプログラミング言語として実行するクライアント。

Simple Authentication and Security Layer (SASL) モジュールと Secure Sockets Layer (SSL) モジュールがインストールされていないか、正しくインストールされていません。

次のコマンドを実行して、SASL モジュールと SSL モジュールをインストールします。

説明

この例では、CentOS システムを使用しています。 その他の OS については、公式 Web サイトを参照するか、サードパーティの検索エンジンを使用して関連情報を検索してください。

  • SSL: sudo yum install openssl openssl-devel

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

No worthy mechs found

No KafkaClient Entry

Java

kafka_client_jaas.conf 設定ファイルが見つかりません。

kafka_client_jaas.conf ファイルを準備し、/home/admin などのディレクトリに保存します。 Java クライアントのログオンセキュリティ設定はシステムで構成されています。 次のいずれかの方法を使用して設定を構成できます。

  • システム変数を構成する。

    • Java 仮想マシン (JVM) パラメーター -Djava.security.auth.login.config=/home/admin/kafka_client_jaas.conf を構成することで、システム変数を構成します。

    • コードでシステム変数を構成する: System.setProperty("java.security.auth.login.config","/home/admin/kafka_client_jaas.conf")

      説明

      コードでシステム変数を構成する場合は、クライアントを起動する前にコードが実行できることを確認してください。

  • システムファイルを追加する: login.config.url.1=file:/home/admin/kafka_client_jaas.conf ファイルを ${JAVA_HOME}/jre/lib/java.security に追加します。

詳細については、JAAS ログイン構成ファイル をご参照ください。

Error sending fetch request

Java

コンシューマーがメッセージをプルできませんでした。 考えられる原因:

  • ネットワークの問題

  • メッセージプルのタイムアウト

  1. サーバーが正しく構成されていることを確認します。

  2. telnet コマンドを実行して、ネットワーク接続を確認します。

  3. ネットワーク接続が正常な場合は、メッセージのプルがタイムアウトしている可能性があります。 次のパラメーターを変更して、一度にプルできるメッセージの数を制限できます。

    • fetch.max.bytes: ブローカーが 1 回のプルから返す最大バイト数。

    • max.partition.fetch.bytes: ブローカーの 1 つのパーティションが 1 回のプルから返す最大バイト数。

  4. ブローカーのトラフィックが制限される場合があります。 [インスタンスの詳細] ページの ApsaraMQ for Kafka コンソールで詳細を表示できます。

    • インスタンスが仮想プライベートクラウド (VPC) で接続されている場合は、[トラフィック仕様] パラメーターの値を表示します。

    • インスタンスがインターネット経由で接続されている場合は、[パブリックトラフィック] パラメーターの値を表示します。

DisconnectException

CORRUPT_MESSAGE

All

  • クラウドストレージ: クライアントバージョンが 3.0 以降の場合、べき等機能が自動的に有効になります。 ただし、べき等機能はクラウドストレージではサポートされていません。

  • ローカルストレージ: ログ圧縮コマンドの実行時にメッセージキーが指定されていません。

  • クラウドストレージ: クライアントで enable.idempotence パラメーターを false に設定します。

  • ローカルストレージ: メッセージキーの値を指定します。