メインコンテンツまでスキップ

Kafka コネクタのトラブルシューティング

備考

ベータ版

この機能はベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。Databricksのプレビューを管理するを参照してください。

このページでは、LakeFlow Connect のマネージド Kafka コネクタに関する一般的なエラーのトラブルシューティング方法を示します。

動作に関する質問(例えば、パイプラインが読み取る前にKafkaからレコードが削除された場合に何が起こるか)については、KafkaコネクタのFAQを参照してください。

データがトピックに存在していても、ストリームはレコードを返しません

原因 : starting_offsetオプションのデフォルト値はlatestで、これはストリーム開始後に到着したメッセージのみを読み取ります。パイプラインが開始する前にデータがトピックに書き込まれた場合、それらのレコードは読み取られません。

解決策:最初の実行時にトピックの先頭から読み取るように、お客様のstarting_offset: earliest kafka_optionsで を設定してください。注意:この設定は、チェックポイントが存在しない場合にのみ適用されます。パイプラインが一度実行された後、starting_offsetにかかわらず最終コミットオフセットから継続されます。

ストリームは接続しますが、レコードが到着しません(認証または ACL の問題)

原因: パイプラインはKafkaクラスターへの認証に成功しましたが、指定されたトピックから読み取るための資格情報に権限がありません。Kafka ACLは、コンシューマーグループまたはトピックをブロックしている可能性があります。

解決方法:

  1. Unity Catalog 接続で使用されるユーザー名またはサービス資格情報が、Kafka ACL 設定でトピックに対するREAD権限を持っていることを確認してください。
  2. パイプラインで使用されるコンシューマーグループが許可されていることを確認します。ACL 設定を確認するには、Kafka 管理者にお問い合わせください。
  3. トピック名が正しいことを確認してください。Kafkaのトピック名は大文字と小文字を区別します。

パイプラインがKafkaクラスターへの接続に失敗しました(TimeoutException)

原因: Databricks サーバレス コンピュート環境からブートストラップサーバーに到達できません。一般的な原因としては、ネットワーク構成、ファイアウォールルール、または接続における誤ったブートストラップサーバーアドレスが挙げられます。

解決方法:

  1. Unity Catalog接続のブートストラップサーバーのアドレスが正しいことを確認し、正しいポートが含まれていることを確認してください(デフォルト:9092)。
  2. Kafka クラスターが Databricks サーバレス コンピュートからのインバウンド接続を許可することを確認してください。ネットワーク構成ガイダンスについては、Kafka の認証を参照してください。
  3. クラスターがTLSを使用している場合、ポートがTLSリスナーと一致することを確認します(デフォルト: 9093)。

再起動後、パイプラインがオフセットをスキップする

原因:これは期待される動作です。パイプラインが遅延し、パイプラインが読み取る前にKafkaがレコードを削除する場合(トピックの保持設定のため)、コネクタは自動的に欠落したオフセットをスキップし、次の利用可能なオフセットから続行します。詳細については、Kafka コネクタの FAQ を参照してください。

**解決策**:レコードのスキップを回避するには、予想されるパイプラインのダウンタイムまたはラグに対応できる十分なKafkaトピック保持期間があることを確認してください。