1. ホーム
  2. apache-kafka

[解決済み] kafkaのレプリケートパーティション下の修正

2022-02-12 17:35:20

質問

本番環境では、トピックからメッセージを消費する際に、パーティションのレプリケーションが不足することがよくあります。Kafka 0.11を使用しています。ドキュメントから理解できることは次のとおりです。

設定パラメータ replica.lag.max.messages が削除されました。パーティションリーダーは、どのレプリカを同期させるかを決定する際に、遅れているメッセージの数を考慮しなくなりました。

設定パラメータ replica.lag.time.max.ms は、レプリカからの最後のフェッチ要求からの経過時間だけでなく、レプリカが最後に追いついてからの経過時間も参照するようになりました。リーダーからのメッセージをまだ取得しているにもかかわらず、 最新のメッセージに追いついていないレプリカは replica.lag.time.max.ms は同期がとれていないと判断される。

この問題はどのように解決するのでしょうか?レプリカが同期しない理由は何ですか?私たちのシナリオでは、すべてのKafkaブローカーをブレードサーバーのシングルRACKに設置し、すべて10GBPS Ethernet(Simplex)で同じネットワークを使用しています。私は、ネットワークのためにレプリカが同期しなくなる理由を見ません。

解決方法を教えてください。

同じ問題に直面しました。

解決策は

  1. Zookeeperのリーダーを再起動します。
  2. 一部のパーティションをレプリケートしていないブローカーブローカーをリスタートします。

データの損失はありません。

この問題はZKの不具合状態によるもので、この件に関してはZKで開かれたissueがありました、番号は忘れました。